目前我正在努力理解嵌套循环。完成此练习时遇到一些困难,只是想知道我哪里出了问题。
练习: 在 Tad 的邮政服务中,每个邮政信箱都标有一个整数,后跟一个字母。给定整数 numRows 和 numColumns,输出每个邮政信箱的标签,后跟一个空格。每行以换行符结束。
例如点击这里 例如:如果输入为 3 4,则输出为: 1A 1B 1C 1D 2A 2B 2C 2D 3A 3B 3C 3D
注意: 行按升序排列。第一行的邮政信箱均以整数 1 开头。 列按字母顺序排列。第一列中的邮政信箱均以字母 A 结尾。 在输出的开头添加一个空字符串以正确连接字符和整数。
import java.util.Scanner;
public class LoopPatterns {
public static void main (String[] args) {
Scanner scnr = new Scanner(System.in);
int numRows;
int numColumns;
int currentRow;
int currentRowInteger;
int currentColumn;
char currentColumnLetter;
numRows = scnr.nextInt();
numColumns = scnr.nextInt();
/* Your code goes here */
for(currentRow = 0; currentRow < numRows; ++currentRow){
currentColumnLetter = (char)('A' + currentRow);
for(currentColumn = 1; currentColumn <= numColumns; ++currentColumn){
System.out.print(currentColumn + "" + currentColumnLetter + " ");
}
System.out.println();
}
}
}
您已经接近工作答案,您应该将
currentColumnLetter
初始化为 A
- 而不是 A
加 currentRow
。然后随着列的增加而增加字母。喜欢,
for (currentRow = 0; currentRow < numRows; ++currentRow) {
currentColumnLetter = 'A';
for (currentColumn = 1; currentColumn <= numColumns; ++currentColumn) {
System.out.print(currentColumn + "" + currentColumnLetter + " ");
++currentColumnLetter;
}
System.out.println();
}