【问题标题】:How do I store these printed letters into an array?如何将这些打印的字母存储到数组中?
【发布时间】:2016-02-19 14:32:06
【问题描述】:

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

【问题讨论】:

    标签: java


    【解决方案1】:
     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);
    
    }
    }
    }
    

    【讨论】:

      【解决方案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. 如前所述,您也可以对字符类型进行数学运算。请注意,数组索引[i-'a'] 的计算方式是从第一个字符的 65 中减去 65,因此“a”存储在索引 0 中,并从那里继续。这有点棘手,但从长远来看,我认为更清晰,也比尝试在你面前使用 ASCII 表进行编程更容易。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-03-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-08-13
        • 1970-01-01
        • 2021-03-28
        • 2012-01-25
        相关资源
        最近更新 更多