我应该编写一个程序来询问用户想要的行数。例如,如果用户输入 5,它将显示从 25 到 1 的所有数字,排列为 5 列和 5 行。如果输入 5,输出应该是这样的:
25 24 23 22 21
16 17 18 19 20
15 14 13 12 11
6 7 8 9 10
5 4 3 2 1
如您所见,有一个模式。第一个出现的数字是数字的平方。然后下一个数字是数字的平方减 1。直到它达到 21,将减去 5 得到 16。然后它会加 1 直到达到 20。如您所见,它就像一条蛇。
问题是它适用于任何数字,但输入 1 时除外。0 是输入 1 时的当前结果。
这是我当前的代码:请帮助我,谢谢
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;
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=0;i<number;i++)
{
for(j=0;j<number;j++)
System.out.print(num[i][j]+"\t");
System.out.println();
}
}
}