我正在尝试制作一个程序,以如下形式输出用户的输入:
输入:单词
w
我
世界
单词
这种渐进式构建似乎不起作用。
import java.util.*;
public class SpellMan {
public static void main(String[] args) {
Scanner kb = new Scanner (System.in) ;
System.out.println("Give me a word > ");
String word = kb.nextLine();
for(int i = 0; i< word.length();i++){
String bword += ""+word.charAt(i);
System.out.println(bword);
}
}
}
最佳答案
您在循环内声明 bword
,因此在每次迭代中您都尝试将当前字符连接到未初始化的 String
变量。
尝试:
String bword = "";
for(int i = 0; i< word.length();i++) {
bword += word.charAt(i);
System.out.println(bword);
}
也就是说,使用 StringBuilder
会更高效(将创建更少的对象)。
StringBuilder bword = new StringBuilder(word.length());
for(int i = 0; i< word.length();i++) {
bWord.append(word.charAt(i));
System.out.println(bword.toString());
}
关于java - += 运算符不适用于字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39556200/