使用isLetter()将字符串拆分为单词,然后在新行中打印出每个单词

时间:2012-09-22 12:30:14

标签: java string

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()作为这个。

2 个答案:

答案 0 :(得分:3)

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

意味着您已声明了一个变量(可能是一个String?)但未初始化它。

替换

String buffer;

String buffer = ""; 

我不确定你的循环究竟做了什么,把计数器加到任何对我来说都没有意义的东西上,但这是另一个故事。

答案 1 :(得分:0)

刚刚使用空字符串初始化变量Buffer,如此String Buffer =“”; 或者你可以使用char类型在指定的条件为真时存储一个字符,然后将这些字符串联成字符串。