2011-04-13 91 views
0

這可能是一個非常簡單的修正,我看不到,但我很確定你們可以幫助我,這部分代碼應該讀取用戶輸入1-12(一年中的一個月)和加一個到數組的位置(即,如果用戶輸入3到數組中,那麼它將增加數組中的'空間'2來計算出現的數量),這個代碼只是經過而沒有采取任何行動放置並且在無所事事之後給平常的構建帶來成功。爲什麼這種方法不能工作?

無論如何,我希望有人能給我一些指導我哪裏出錯的地方。

import java.util.Scanner; 
public class BirthMonth { 

    public static void main(String[] args){        
     Scanner input = new Scanner(System.in); 
     int months [] = new int [12];  
    } 

    public static int[] inputMonths(int[] months, Scanner input){ 

     System.out.println("please enter the first month with a birthday:"); 
     int month = input.nextInt(); 
     months[month - 1] ++; 
     //arr[i] = Input.nextInt(); 

     while (month != -1){ 
      System.out.println("please enter the next month to be tallied"); 
      month = input.nextInt(); 
      months[month - 1] ++; 
     } 
     return months;    
    } 
} 
+0

修辭問題:'java.util.Scanner'只能用於作業練習嗎?有沒有人真的用過它的東西? – skaffman 2011-04-13 14:19:26

+5

...所以你意識到你需要在你的主要方法中調用inputMonths,對嗎? – ryebr3ad 2011-04-13 14:19:41

+1

你的縮進在修復之前很奇怪,你應該確保你的縮進一致,你的代碼會更容易閱讀。 – Blorgbeard 2011-04-13 14:21:57

回答

9

你打電話給你的inputMonths方法在你的主要方法...;)

1

在main方法你不叫你的方法inputMonths(int[] months, Scanner input)。所以,除了創建數組和初始化掃描器之外,您的程序不會執行任何操作。您必須在主要方法中添加呼叫。

public static void main(String[] args){        
     Scanner input = new Scanner(System.in); 
     int months [] = new int [12]; 
     inputMonths(months, input) 
    } 
相關問題