2016-01-21 70 views
3

我目前正在做一個軟件開發課程,並已被賦予一個任務即時通訊有點麻煩,並非常感激,如果有人可以幫助......這是它的任務是在Java中方式:陣列天和匹配月

編寫一個程序,它將訪問兩個數組。 一個數組將包含月份的名稱,另一個數組包含每個月的天數。

當用戶輸入一個數月,該方案將返回月份和天數的名字....

這是堅持年底至今我已經輸入的代碼和一個位... 。

int number; 
    number = Integer.parseInt(jTextField1.getText()); 
    int [] Days; 
    Days = new int [12]; 
    Days [0] = 31; 
    Days [1] = 28; 
    Days [2] = 31; 
    Days [3] = 30; 
    Days [4] = 31; 
    Days [5] = 30; 
    Days [6] = 31; 
    Days [7] = 31; 
    Days [8] = 30; 
    Days [9] = 31; 
    Days [10] = 30; 
    Days [11] = 31; 
    jTextField3.setText(String.valueOf(Days)); 


    String [] Month; 
    Month = new String [12]; 
    Month [0] = "January"; 
    Month [1] = "February"; 
    Month [2] = "March"; 
    Month [3] = "April"; 
    Month [4] = "May"; 
    Month [5] = "June"; 
    Month [6] = "July"; 
    Month [7] = "August"; 
    Month [8] = "September"; 
    Month [9] = "October"; 
    Month [10] = "November"; 
    Month [11] = "December"; 
    jTextField2.setText(String.valueOf(Month)); 
+3

天具體什麼是你卡住之間的數用?請詳細說明。 另外@JasonZ,他的Days數組保存了每個月的天數,所以12是正確的,因爲有12個月。 –

+1

請命名約定。變量應該在camelCase中。不要開始壞習慣! – bcsb1001

+4

你可能想要輸出'String.valueOf(Month [number])''String.valueOf(Days [number])' – wero

回答

3

一個更好的版本將與班每月:

public class Month { 
    private String name; 
    private int days; 

    public Month() {} 
    public Month(String name, int days) { 
     this.name = name; 
     this.days = days;   
    } 

    public String getName() { 
     return name; 
    } 

    public String getDays() { 
     return days; 
    } 

} 


Month[] months = new Month[12]; 
months[0] = new Month("January", 31); 
// ... 

int n; 
// ...user read from keyboard n from 1 to 12 month; 

// set month info 
jTextField.setText("In " + months[n - 1].getName() + " are " + months[n - 1].getDays() + " days!"); 
0

如果number = Integer.parseInt(jTextField1.getText());是一個有效輸入(1到12之間),那麼你可以這樣做:Days [number]以月份的天數爲整數,Month [number]以月份名稱作爲字符串。

0

假設用戶輸入爲1和12(月份由1和12月12表示),月名稱由Month[number - 1]給出當月通過Days[number -1]