public class Test {
//符号
private final char[] symbol = {'*','+','-','/','%','=','(',')','[',']','{','}',
'!','|','&',';','.','<','>'};
//数字
private final char[] number = {'0','1','2','3','4','5','6','7','8','9','.'};
private char ch; //存放新读进的字符
private String str; //存放要分析的句子
private StringBuffer strToken; //存放构成单词符号的字符串
private int i = 0;
public Test(String str){
this.str = str;
this.strToken = new StringBuffer();
}
//将下一字符读到ch中,并将指示器前移一字符位置
public void GetChar(){
if(i < str.length()){
ch = str.charAt(i);
i++;
}
}
//判断是否为空格,若是则调用Getchar,直到ch进入下一个非空白字符
public void GetBC(){
while(i <= str.length()){
if(ch == ' '){
GetChar();
}else{
break;
}
//i++;
}
}
//将ck连接到strToken之后
public void Concat(){
strToken.append(ch);
}
//判断是ch否是数字还是字母
public boolean IsLetter(){
if( (ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z')){
return true;
}else {
return false;
}
}
public boolean IsDigit(){
boolean b = false;
for (int k = 0; k < number.length; k++) {
if(ch == number[k]){//超前搜索
b = true;
//i++;
}
}
return b;
}
//是否是符号
public boolean isSymbol(){
boolean b = false;
//char temp = str.charAt(i);
for (int k = 0; k < symbol.length; k++) {
if(ch == symbol[k]){
b = true;
}
}
return b;
}
//将搜索指示器回调一个字符,将ch置为空白字符
public void Retract(){
i--;
ch = ' ';
}
public static void main(String[] args) {
Test test = new Test("for (int i = 0; i < idAL.size(); i++)");
while(true){
test.GetChar();
test.GetBC();
if(test.IsLetter()){//如果是字母
test.Concat();//加到strToken后面
test.GetChar();//得到下一个字符
while(test.IsLetter() || test.IsDigit()){//如果是字母或数字
详细解决方案
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space解决思路
热度:255 发布时间:2016-04-22 21:41:16.0
相关解决方案
- java 乱码 汉字是 ? 如何转换成汉字
- struts2 对象属性流入不进去, 报错:target is null for setProperty(null, "x" [Ljava.lang.Stri
- request.setAttribute("list" "''");该怎么解决
- java web 登录次数限制,该如何解决
- java 工商银行网银支付 B2B的 都亟需什么,需要注意什么
- Java Applet程序从JDK6升级到7时遇到的有关问题
- Exception in thread "main" org.hibernate.HibernateException: /hibernate.cfg.xml解决办法
- struts2标签 <s:if test="表达式">表达式的写法解决方案
- java web 视频相干
- 请教一个关于链接后缀的有关问题(java web 应用)
- xml文件不能被准确解析/The processing instruction target matching "[xX][mM][lL]" is not al
- java 系统单点登录解决方案
- sql中获取d天后的日期,格式为"yyyyMMdd"怎么做到
- spring @Scope("prototype")注解更新有关问题,寻求帮助
- 怎么在eclipse的JSP裡在使用JS語法時可以直接""後出現方法
- 关于request.getParamater("name")若干疑点,html5新特性placeholder
- java.lang.NumberFormatException: For input string: "id"该如何处理
- java.lang.NoSuchMethodException: setId([Ljava.lang.String;)解决方法
- java 获取客户端IP解决办法
- 怎么取<s:property value="news.CONTENT" escape="false"/>内容前几位
- JAVA 后台怎么获得前台页面FCKedit编辑器中的内容以及内容的样式
- 为什么Ext.getCmp("panelID").collapsed = false;无效呢
- java 正则化匹配有关问题
- java web 受阻
- java.lang.IllegalStateException: No output folder,该怎么解决
- 大神们开始觅错啦!org.hibernate.exception.SQLGrammarException: could not execute query
- java.lang.NoSuchMethodError: org.springframework.util.ReflectionUtils.makeAccess,该如何解决
- java 乱码有关问题 急求大神
- java EE错误如何解决阿,都是过了,没有能解决的!
- java 工程打包有关问题 多谢各位大神!多谢