gpt4 book ai didi

java - 数组循环程序逻辑

转载 作者:行者123 更新时间:2023-12-02 12:49:59 25 4
gpt4 key购买 nike

我应该编写一个程序来询问用户想要的行数。例如,如果用户输入 4 作为数字,它将显示从 1 到 16 的所有数字,排列为 4 列和 4 行。如果输入 4,输出应该是这样的:

1 2 3 4
8 7 6 5
9 10 11 12
16 15 14 13

正如你所看到的,有一个模式。第一个出现的数字是 1,然后增加直到 4。下一行从 8 开始,然后到 5。正如你所看到的,它就像一条蛇。但我的程序不工作。尽管我尝试模拟我的程序,但我仍然无法找出问题所在。

另一个例子是输入 3 时:

1 2 3
6 5 4
7 8 9

这是我当前的代码:请帮助我,谢谢

import java.util.*;
public class ArrayOutput2
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
int number = 0;

System.out.print("Enter number of rows: ");
number = input.nextInt();

int[][] num = new int[number][number];
int k=1, i, j;

if (number == 1)
{
num[0][0] = 1;
}


while(k< (number*number))
{
for(i=number; i>=1; i--)
{
if (i%2==1)
{
for(j=number-1; j>=0; j--)
{
num[i-1][j]=k;
k++;
}
}

else
for(j=0; j<=number-1; j++)
{
num[i-1][j]=k;
k++;
}
}
}
for(i=number-1;i<0;i--)
{
for(j=number-1;j<0;j--)

System.out.print(num[i][j]+"\t");
System.out.println();
}

}
}

最佳答案

看起来像num[][]数组设置正确。

我认为你只需要翻转 <>=在最后一个 for 循环中。

目前,当 i 小于 0 时,您正在循环 i,但它从 4 开始,因此它永远不会进入循环,因此永远不会在控制台上打印任何内容。

应该是:

 for(i=number-1;i>=0;i--)
{
for(j=number-1;j>=0;j--)

关于java - 数组循环程序逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14357871/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com