ユーザーが必要な行数を要求するプログラムを作成することになっています。たとえば、ユーザーが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
ご覧のとおり、パターンがあります。最初に表示される数値は、数値の2乗です。次に、数の2乗から1を引いた数になります。21に達するまで5が減算され、16になります。次に、20に達するまで1が加算されます。ご覧のとおり、ヘビのようです。
問題は、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();
}
}
}