现在这个程序打印出字母表(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);
}
}
}
这几乎是一个“语法”类型的问题,但它也足够棘手,以至于有一些价值来指出它是如何工作的。
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更清晰。
如前所述,您也可以对字符类型进行数学运算。请注意,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);
}
}
}