我的教授要求我们生成这个输出:
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)
你可以实际循环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)