Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 天数和匹配月份的数组_Java_Arrays - Fatal编程技术网

Java 天数和匹配月份的数组

Java 天数和匹配月份的数组,java,arrays,Java,Arrays,我目前正在学习一门软件开发课程,并且被分配了一个作业,我有点麻烦,如果有人能帮助我,我将非常感激……顺便说一句,这是java中的任务: 编写一个访问两个数组的程序。 一个数组将保存月份名称,另一个数组保存每个月的天数 当用户输入月号时,程序将返回月名和天数 这是我到目前为止输入的代码,结尾有点卡住了 int number; number = Integer.parseInt(jTextField1.getText()); int [] Days; Days = n

我目前正在学习一门软件开发课程,并且被分配了一个作业,我有点麻烦,如果有人能帮助我,我将非常感激……顺便说一句,这是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));

更好的版本应该是月班:

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!");

如果
number=Integer.parseInt(jTextField1.getText())
是一个有效的输入(介于1和12之间),然后您可以执行以下操作:
Days[number]
以整数形式获取该月的天数,
month[number]
以字符串形式获取月名。

假设用户输入是介于1和12之间的数字(一月由1表示,十二月由12表示),则月名由
month给出[number-1]
和该月的天数按
天数[number-1]

您具体坚持什么?请详细说明。另外@JasonZ,他的Days数组保存每个月的天数,因此12是正确的,因为有12个月。请使用命名约定。变量应为camelCase格式。不要养成坏习惯!您可能希望输出
字符串。valueOf(month[number])
字符串。valueOf(Days[number])
@wero注意
月份
已经是
字符串[]
@wero是正确的,假设输入的
0
应该映射到一月。如果一月输入为
1
,则使用索引
编号-1