Java使用两个循环

j g*_*j g 2 java loops

我的教授要求我们生成这个输出:

A1 B2 C3 D4 E5

F6 G7 H8 I9 J10

K11 L12 M13 N14 O15

P16 Q17 R18 S19 T20

U21 V22 W23 X24 Y25

Z26

我得到了正确的输出,但他不接受我的代码; 他说我必须不使用数组而只使用2个循环.我想不出任何可以产生相同输出的解决方案.我想知道是否有可能只用2个循环来产生相同的输出?我制作了这样的代码,但我的教授说我必须修改它.

public class lettersAndNumbers {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        String[] abc = {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R",
                "S", "T", "U", "V", "W", "X", "Y", "Z", };

        int i = 0;
        while ( i < abc.length ) {

            int j = 1;
            while ( j <= 26 ) {

                int k = 1;
                while ( k <= 5 ) {

                    System.out.print(abc[i] + j + "\t");
                    j++;
                    i++;
                        k++;

                    if ( k == 6 ) {
                        System.out.println();
                    }

                }
                k = 1;
            }
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

ale*_*nis 5

你可以实际循环chars,这将使你的代码更具可读性并避免使用数组作为你的字母:

int count = 1;
for (char letter = 'A'; letter <= 'Z';) {
    for (int i = 1; i <= 5; ++i, ++letter, ++count) {
        System.out.print(letter);
        System.out.print(count + "\t");
        if (letter == 'Z')
            return;
    }
    System.out.println();
}
Run Code Online (Sandbox Code Playgroud)