如何将这些打印的字母存储到数组中?
现在这个程序打印出字母表(az)但是我想把这些字母存储在名为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); } } }
这几乎是一个“语法”类型的问题,但它也很棘手,指出它是如何工作的一些价值。
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
类型的整数相同。 您可以分配它们并对它们进行数学运算。 我认为这使得char letterA = 'a';
的初始赋值char letterA = 'a';
比使用数字65更清楚。 -
如上所述,您也可以使用字符类型进行数学运算。 注意,计算aray索引
[i-'a']
使得第一个字符从65中减去65,因此'a'存储在索引0中,并从那里继续。 这有点棘手,但从长远来看,我认为,比在您面前使用ASCII表编程更容易。
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,j=0;i<=lettter;i++,j++ ) { let[j] = (char)i;
//如果您不想要新变量,可以执行以下操作
let[i-65] = (char) i; System.out.print((char)i); } } }