2017-07-18 5 views
-2

私はアルファベットのすべてのアルファベットの文字列でこの文字列を書きます。 "a"、 "b"、 "c"、 "d"などJavaでループを使用して文字列の配列を文字で埋める方法は?

私はこれを見つめています私はどこから始めるべきか混乱しましたか?私は今クラスで今日の配列に導入されたので、私の無知を許します。通常、このString [] randomA = {'a'、 'b'、 'c'}などのように配列された配列ではありません。誰かがなぜ彼らがfor (char ch =)で始まり、forループで始まり、どのように開始するのが正しい方向に向いているか教えてください。

import java.util.Arrays; 

public class Fill 
{ 
    public static void main(String[] args) 
    { 
     String[] letters = new String[26]; 
     for (char ch = . . .; . . .; . . .) 
     { 
     letters[. . .] = . . .; 
     } 
     System.out.println(Arrays.toString(letters)); 
    } 
} 
+1

ヒント:Javaの 'char'型は整数型です。 ''a ''で始まって1を加えると、次の文字(' 'b'')が得られます。 –

+0

この質問を確認してください:https://stackoverflow.com/questions/11671908/can-the-char-type-be-categorized-as-an-integer char型を増やすことができます。各文字は、その文字のみを表すASCIIテーブルの一意の値に対応します。これもチェックしてください:https://www.cs.cmu.edu/~pattis/15-1XX/common/handouts/ascii.html –

+0

テンプレート内の "..."は、どこから始めるべきかを指しています。 [forループの構文](https://docs.oracle.com/javase/tutorial/java/nutsandbolts/for.html)を参照してください。 [配列要素へのアクセス方法](https://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html)を参照してください。 –

答えて

1

char種類が、実際にはUnicodeに応じて文字表現を持っているだけの数字です。インクリメント、デクリメント、基本的な計算を行うことができます。

ここであなたはそれを書くことができる一つの方法です:

import java.util.Arrays; 

public class Fill 
{ 
    public static void main(String[] args) 
    { 
     String[] letters = new String[26]; 
     for (char ch = 'a'; ch <= 'z'; ch++) 
     { 
     letters[ch - 'a'] = String.valueOf(ch); 
     } 
     System.out.println(Arrays.toString(letters)); 
    } 
} 
1

これを試してください。

String[] letters = IntStream.rangeClosed('a', 'z') 
    .mapToObj(c -> String.valueOf((char)c)) 
    .toArray(String[]::new); 
+0

これはループを使用しません。ストリームソリューションを提供したもう一つの答えは既にここで削除されました。 – 4castle

1

はこれを試してみてください。

String[] letters = new String[26]; 
for (int i = 0; i < 26; i++) { 
    letters[i] = (char)('a' + i) + ""; 
} 
System.out.println(Arrays.toString(letters)); 
関連する問題