提问者:小点点

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


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

匿名用户

这几乎是一个“语法”类型的问题,但它也足够棘手,以至于有一些价值来指出它是如何工作的。

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