Java 中的嵌套 For 循环

问题描述 投票:0回答:1

目前我正在努力理解嵌套循环。完成此练习时遇到一些困难,只是想知道我哪里出了问题。

练习: 在 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();     
      }

   }
}
java for-loop nested-loops
1个回答
0
投票

您已经接近工作答案,您应该将

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();
}
© www.soinside.com 2019 - 2024. All rights reserved.