2017-04-26 18 views
-2

文字はJavaで不変ですか?もしそうなら、1つのchar変数で複数のchar値を変更、更新、または読み込む方法があります。前もって感謝します!データ型操作Java

String go = "djlfa"; 
Scanner sc = new Scanner(go); 

for(int i = 0; i < go.length(); i++){ 

    Character sym = new Character(sc.next().charAt(i)); 
    System.out.print(sym); 
} 
+0

複数のchar値を読み込みますか? charは単一のcharです。複数の文字を格納する必要がある場合は、char配列を作成できます。文字列も技術的には文字配列なので、これはさらに簡単な宣言方法です! – coinbird

+0

'char'は、UTF-16エンコーディングを持つ2バイトのメモリと、UTF-8エンコーディングを持つ1バイトしか持っていません。複数の 'char'を格納したい場合は' String'を使います。それが彼らのために作られたものです! –

+1

'new Character'は不要です。 'char sym = sc.next()。charAt(i);'は、不必要なオブジェクトを作成することなく、ほとんど同じです。 –

答えて

0

は、Java

に文字不変であるはい、再びコンストラクタを呼び出すことなく、既存のCharacterインスタンスの値を変更する方法はありません。

その場合は、変更する方法があり、更新または単一のcharで複数のchar値に を読ん変数

いいえ、これはString sがのためにあるものです。 They are also immutable

0

だから、ラッパー型Characterに文字列goを入れしようとしていますか? もしそうなら:Characterはあなたがそれをしたいと思う5(djlfa)ではなく、ただ一つの文字を保存することができます。

+0

いいえ私はそれをやろうとしています。私は後置式にインフィックスで作業していたので、文字を更新したい。そして、私はその表現で読み込まれたすべてのキャラクターをテストしたかったのです。 –