如何将这些打印的字母存储到数组中?

时间:2015-11-18 01:20:24

标签: java

现在这个程序打印出字母表(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);
        }
    }
}

2 个答案:

答案 0 :(得分:2)

这几乎是一个“语法”类型的问题,但它也很棘手,指出它是如何工作的。

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;
      }
   }
}
  1. 单引号中的字符与char类型的整数相同。您可以分配它们并对它们进行数学运算。我认为这使得char letterA = 'a';的初始分配比使用数字65更清晰。

  2. 如上所述,您也可以使用字符类型进行数学运算。请注意,计算aray索引[i-'a'],以便从第一个字符的65中减去65,以便'a'存储在索引0中,并从那里继续。这有点棘手,但从长远来看,我认为,并且比在你面前使用ASCII表编程更容易。

答案 1 :(得分:0)

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

}
}
}