2016-01-21 73 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]