我應該編寫一個程序,詢問用戶想要的行數。例如用戶輸入5,它將顯示從5列到5列排列的從25到1的所有數字。如果輸入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();
}
}
}
如果你輸入'1那麼(k <(1 * 1))永遠不會爲真,從而導致循環永不執行。 –
從用戶輸入'1'開始考慮你想要的輸出。它是單個元素'1'被返回還是有一種模式? –
@AurA請注意,[家庭作業標籤現在正在逐步淘汰,不能再使用](http://meta.stackexchange.com/questions/147100/the-homework-tag-is-now-officially-deprecated )。 – Gilles