java - += 运算符不适用于字符串

标签 java for-loop operators

我正在尝试制作一个程序,以如下形式输出用户的输入:

输入:单词

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/

相关文章:

r - 编写一个循环来选择在 R 中生成正方程值的所有变量值组合

javascript - Javascript 是否有类似于 Java 的增强的 for 循环语法

返回整数的 Python 运算符

java - 类型转换和由此产生的后果 [Java]

java - 匿名上传文件对象到 Imgur API (JSON) 给出身份验证错误 401

r - 为整个数据集和计数在 R 中自动化 "for loop"

c++ - 运算符重载的基本规则和惯用法是什么?

java - 显示照片android代码

java - hibernate 中没有外键的一对多

c - 如何将异或 (XOR) 运算符应用于多个谓词?