如何使用Java中的循环来填充字母数组?

问题描述:

我应该用字母表中的所有字母来填充这个字符串数组,例如:“a”,“b”,“c”,“d”等。如何使用Java中的循环来填充字母数组?

我一直在盯着这个一个小时,我困惑从哪里开始?今天我刚在课堂上介绍了数组,所以请原谅我的无知。通常不是像这样填充的数组String [] randomA = {'a','b','c'}等等。所以我很困惑如何用循环填充它。有人可以告诉我为什么他们在for循环中以for (char ch =)开头,并指出我如何开始的正确方向?

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://*.com/questions/11671908/can-the-char-type-be-categorized-as-an-integer 您可以递增字符类型。每个字母对应于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)。 –

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

试试这个。

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

这不使用循环。提供流解决方案的另一个答案已在此处删除。 – 4castle

试试这个。

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