大家好,我是Java新手,所以我不太了解您能不能尽可能简单地帮助我,所以这是我的代码,并且我遇到了有关month(int)的错误,这意味着它无法导入库
sessionAttribute
错误:描述资源路径位置类型 构造函数Month(int)是未定义的Month.java / tb00594_comp1027_formative2 / src / tb00594_comp1027_formative2第4行Java问题
警告:描述资源路径位置类型 构建路径指定执行环境JavaSE-1.7。在工作区中没有安装与该环境严格兼容的JRE。 tb00594_comp1027_formative2构建路径JRE系统库问题
所以,如果您能尽快帮助我,我会很高兴的。
答案 0 :(得分:3)
Enum基本上是最后一组可通过期权的声明(在您的情况下为几个月)。但是它仍然是Java Class〜Object。
您的错误从字面上说是您想为每个枚举赋予某些属性时缺少Java类的构造函数。我想您想在日历中添加月份顺序。您只需要声明类和枚举构造函数的属性即可。
public enum Month {
JANUARY(1), FEBRUARY(2), MARCH(3), APRIL(4),MAY(5),JUNE(6), JULY(7), AUGUST(8), SEPTEMBER(9), OCTOBER(10), NOVEMBER(11), DECEMBER(12);
private int monthOrder;
public Month (int monthOrder) {
this.monthOrder = monthOrder;
}
public int getMonthOrder() {
return this.monthOrder;
}
}
答案 1 :(得分:2)
您必须为枚举编写构造函数。因此,您需要像这样实现;
public enum Month {
January(1), February(2), March(3), April(4), May(5), June(6), July(7), August(8), September(9), October(10), November(11), December(12);
private int value;
Month(int i) {
this.value = i;
}
}
如您所见,构造函数;
Month(int i) {
this.value = i;
}
给出相关月份的整数值,并设置为枚举的value字段,该字段保留月份的值。
答案 2 :(得分:1)
添加构造函数:
public enum Month {
JANUARY(1), FEBRUARY(2), MARCH(3), APRIL(4), MAY(5), JUNE(6), JULY(7), AUGUST(8), SEPTEMBER(9), OCTOBER(10), NOVEMBER(11), DECEMBER(12);
private final int number;
public Month (int number) {
this.number = number;
}
public int getNumber() {
return number;
}
}
答案 3 :(得分:0)
您在枚举中提供的值默认情况下为0、1 ...等等,与数组索引中的一样。如果要更改此值,则需要显式地获取值整数并将其添加到构造函数中。另外,要使用此值,您也可以使用吸气剂。
尝试一下:
public enum Month {
January(1),
February(2),
March(3),
April(4),
May(5),
June(6),
July(7),
August(8),
September(9),
October(10),
November(11),
December(12);
private int value;
Month(int value) {
this.value = value;
}
public int getValue() {
return value;
}
}