现在这个程序打印出字母表 (a-z),但是我想取出这些字母并将每个字母存储在名为 leta 的数组中,我该怎么做?
public class Arrayofhope {
public static void main (String[]args) {
char []leta = new char[26];
char letter = (char)65;
char lettter=(char)90;
for (int i = letter;i<=lettter;i++ ) {
System.out.print((char)i);
}
}
}
最佳答案
这几乎是一个“语法”类型的问题,但它也很棘手,指出它的工作原理是有一定值(value)的。
class Arrayofhope
{
public static void main( String[] args )
{
char[] leta = new char[ 26 ];
char letterA = 'a';
char letterZ = 'z';
for( int i = letterA; i <= letterZ; i++ ) {
System.out.print( (char) i );
leta[i-'a'] = (char)i;
}
}
}
单引号中的字符与
char
类型的整数相同。您可以分配它们并对它们进行数学计算。我认为这使得char letterA = 'a';
的初始赋值比使用数字 65 更清晰。正如前面提到的,您也可以使用字符类型进行数学运算。请注意,数组索引
[i-'a']
的计算方式是从第一个字符的 65 中减去 65,以便将 'a' 存储在索引 0 中,并从那里向上继续。这有点棘手,但从长远来看,我认为更清晰,也比尝试使用面前的 ASCII 表进行编程更容易。
关于java - 如何将这些打印的字母存储到数组中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33770180/