0
input:
this is a line

output:
this
is
a
line

这个想法是,用户将输入一行,然后将在一行中打印出一个单词,然后继续。buffer 和 inputString 是 String 的变量。

    for (int i=0;i<inputString.length();i++){
        if(Character.isLetter(inputString.charAt(i))){
            buffer += i;
        }// end if
    }// end for i

用我很酷的错误信息结束这一切。

Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
    The local variable buffer may not have been initialized

我对 java 编码很陌生,我知道还有很多其他方法可以解决这个任务,比如使用 split() 和其他一些方法。但是我的虐待狂老师希望我使用 isLetter() 来处理这个问题。

4

2 回答 2

3
Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
    The local variable buffer may not have been initialized

意味着您已经声明了一个变量(可能是一个字符串?)但没有初始化它。

代替

String buffer;

String buffer = ""; 

我不确定你的循环到底做了什么,将计数器添加到任何东西对我来说都没有意义,但那是另一回事了。

于 2012-09-22T12:33:44.507 回答
0

刚刚用这样的空字符串初始化变量 Buffer String Buffer = ""; 或者您可以在指定条件为真时使用 char 类型存储字符,然后将这些字符连接成字符串。

于 2012-09-22T12:40:22.810 回答