如何在Java中的2D阵列内的1D阵列中以降序显示单元格



我正在为课堂做一次分配,我无法弄清楚我需要更改什么以及确切的位置。我开始更好地理解所有这些如何一起工作。但是,我尝试了很多我认为可能起作用的变体,但是它们从未发现我的意图。

我已经通过跟踪和错误正确地工作了的前5件代码,但是第六代码/问题我无法弄清楚。

我创建2D数组的初始代码是:

public static void main(String[] args) {
    int[][] numbers = {{1,1,1,1,1},{2,2,2,2,2},{3,3,3,3,3},{4,4,4,4,4},{5,5,5,5,5}}; 
    //made this to go around Scanner to save time/workload
    for(int rows = 0; rows < 5; rows++) {
        for(int columns = 0; columns < 5; columns++) {

        }
    }

和我遇到麻烦的代码是:

    System.out.println("2) Your entered values are now : ");
    System.out.println( );
    for(int rows = 0; rows < 5; rows++) {
        for(int columns = 0; columns < rows + 1; columns++) {
            System.out.print(numbers [rows][columns]);
        }     // will replace  w/ System.out.print("*"); to get asterisks instead of numbers
        System.out.println( );
    }
    /*needs to Output *****     Outputs 1
                      ****              22
                      ***               333
                      **                4444
                      *                 55555 */

我已经在代码中分开了所有6个问题,它们都从相同的输入(INT Number [5] [5])中流出,并使用了类似代码。它们彼此之间都显示在一个页面上。

您使用的循环打印2D数组的方式

您以错误的方式进行

您可以通过将此条件columns < rows + 1更改为内部循环的columns < 5 - rows来解决它:

for(int rows = 0; rows < 5; rows++) {
      for(int columns = 0; columns < 5 - rows; columns++) {
                System.out.print(numbers [rows][columns]);
       }     // will replace  w/ System.out.print("*"); to get asterisks instead of numbers
            System.out.println( );
 }

您需要行计算4到0而不是0到4。请随时在此处发表评论,如果需要,我会提供其他帮助。

@maybe_factor

弄清楚那部分很容易。我们已经弄清楚了最初发布一个小时后的问题。

这是新代码:

    System.out.println("6) Your entered numbers are now : ");
    System.out.println( );
    for(int rows = 0; rows < 5; rows++) {
        for(int columns = 0; columns < 5- rows ; columns++) {
            System.out.print("*");

相关内容

  • 没有找到相关文章

最新更新