2016-09-18 21 views
1

私はこのような形でユーザーの入力を出力するプログラムを作成しようとしていると動作しませんWOR+ =演算子は文字列

単語

このインクリメンタルビルドアップは、Bにはいないようですe働く。

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); 
    } 
} 
} 
+0

参照:http://stackoverflow.com/help/someone-answers – c0der

答えて

3

各反復では、あなたが初期化されていないString変数に現在の文字を連結しようとするので、あなたは、ループ内bwordを宣言しています。

試してみてください。

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()); 
} 
+0

パーフェクト!どうもありがとう! :) – InsertRealName

+0

@fabianああ、あなたは正しい。私の悪い – Eran

0

bwordはまだnullであるため、別に他のコードの問題から、あなたの質問ヘッダに関する主なポイントは、(それがコンパイルされません)、あなたは宣言内+=演算子を使用することができないということです。

String bword = ""; //before the loop 
bword += word.charAt(i); 
System.out.println(bword); 
関連する問題