2017-03-02 141 views
0

我需要使用Java語言編寫的代碼,需要在用戶輸入(「X」爲整數,然後從1打印數起的「X」。然後,在下一行的幫助下,它遞增一次,並打印「X」更。數字再次時代的「X」號我試圖嵌套的for循環它使用下面是輸出應該如何:如何在java中根據用戶輸入的整數打印數字?

如果用戶輸入4,輸出應該是:

1234 
2345 
4567 
5678 

如果用戶輸入5,那麼:

12345 
23456 
34567 
45678 
56789 

這是我的代碼已經迄今爲止寫的:

// start of code 
public static void main(String[] args) { 
    Scanner in = new Scanner(System.in); 
    System.out.print("Enter number: "); 
    int x = in.nextInt(); // initial number entered by user to repeat it 

    for (int i = 1; i <= x; i++) { 
     System.out.print(i + " "); 
     int j = i + 1; 

     for (int a = j; a <= j; a++) { 
      // System.out.println(); 
      System.out.print(a + " "); 
     } 
    } 

} // end of main 

感謝您的閱讀我的問題,這是我第一次在這裏張貼問題,所以我還是新的張貼在這裏的代碼。希望我做得很好。

+0

您的代碼是否工作?它是否編譯?它打印錯誤的結果嗎?它是否會拋出異常?不要讓我們猜你在問什麼。 – shmosel

+0

是代碼編譯和輸出爲:1 2 2 3 3 4 4 5 5 6,對於用戶輸入的 「5」 –

+1

多少次你認爲'對(INT一個= j的;一個<= j的;一個++ )'會迭代? – shmosel

回答

0

我不能現在就測試代碼,但我認爲你正在尋找與此類似。

for (int i = 1; i <= x; i++) { 
    for (int j = i; j < x+i; j++) { 
     System.out.print(j); 
    } 
    System.out.print(" "); 
} 

你只需要改變你的嵌套循環的一個,我寫

+0

謝謝,它的工作原理。 –

0

我真的不明白你在找什麼。但這是我明白的:

public static void main(String args[]) { 
    Scanner in = new Scanner(System.in); 
    System.out.print("Enter number: "); 
    int x = in.nextInt(); //initial number entered by user to repeat it 

    for (int i = 1; i <= x; i++) { 
     System.out.print(i + " "); 
     int j = in.nextInt(); 
     System.out.println(j); 
    } 

} 
相關問題