2016-09-20 272 views
-2

當我運行這個程序時,我在最後階段遇到問題。我無法打印t [5]的值。有誰能幫我解決這個問題嗎? 我希望t [n]的值高達n = NoL,但程序無誤地運行直到輸入最終值。 (我把這種方法主要方法。並得到一個問題像圖像1 Image 1這段代碼有什麼問題?

for(n=1; n<=NoL; n++){ 
    if (n==1){ 
      System.out.println("your 1st letter in which column?"); 
      t[n] = input.nextInt(); 
     } 
    else if (n==2){ 
      System.out.println("your 2nd letter in which column?"); 
      t[n] = input.nextInt(); 

     } 
    else if (n==3){ 
      System.out.println("your 3rd letter in which column?"); 
      t[n] = input.nextInt(); 

     } 
    else{ 
     for (n=4; n<=NoL ; n++){     
       System.out.println("your "+ n+"th letter in which column?"); 
       t[n] = input.nextInt(); 
      } 

     } 
    } 
System.out.println(t[3]); 
} 

我現在應該怎麼辦?請幫我在此先感謝....

+1

請添加一個更具描述性的標題......也可以在提出問題之前嘗試調試程序 – Li357

+1

'我無法打印t的值[5]' ...這是因爲你永遠不會打印它。作爲一般性評論,Java(和大多數語言)中的數組基於零,這意味着您的循環應該從索引零開始,而不是一個。 –

+0

感謝您的時間......我會加分是很快 –

回答

0

如果N = 4那麼你因此,當N = 5時,輸入if-else語句的最後部分,並將N重新設置回4,不完全確定你想要做什麼,但可能不需要第二個for循環