我知道这可能是一个非常愚蠢的问题,我知道我应该为此导入一个类,但我真的想知道以下代码中的错误是什么。我正在上Java课程,我真的很想得到一些帮助。
int m = 1;
String month;
if(int m = 1){
month = "January";
}else if(int m = 2){
month = "February";
}else if(int m = 3){
month = "March";
}else if(int m = 4){
month = "April";
}else if(int m = 5){
month = "May";
}else if(int m = 6){
month = "June";
}else if(int m = 7){
month = "July";
}else if(int m = 8){
month = "August";
}else if(int m = 9){
month = "September";
}else if(int m = 10){
month = "October";
}else if(int m = 11){
month = "November";
}else if(int m = 12){
month = "December";
}
我一直在
*./Root/Main.java:16: error: '.class' expected
if(int m = 1){
^*
字符串名称有问题吗?
答案 0 :(得分:2)
您正在尝试在if条件中定义新的整数变量m。 你应该这样做:
int m = 1;
String month;
if( m == 1)
{
month = "January";
}
等。注意我已经删除了int,并将=更改为= =(即等式检查,而不是赋值)
答案 1 :(得分:1)
您的if语句正在重新定义变量m
。比较应如下所示:if (m == 1)
。更正后的代码为:
int m = 1;
String month;
if(m == 1){
month = "January";
}else if(m == 2){
month = "February";
}else if(m == 3){
month = "March";
}else if(m == 4){
month = "April";
}else if(m == 5){
month = "May";
}else if(m == 6){
month = "June";
}else if(m == 7){
month = "July";
}else if(m == 8){
month = "August";
}else if(m == 9){
month = "September";
}else if(m == 10){
month = "October";
}else if(m == 11){
month = "November";
}else if(m == 12){
month = "December";
}
答案 2 :(得分:1)
=
是赋值操作,==
是相等比较运算符。
将if(int m = 1){
更改为if(int m == 1){
如果你想摆脱多个if-else语句,我的建议是:
int m = 1;
String month = "";
// stores months names in order
String[] months = {"January", "February", "March"....}
// gets the corresponding name by index
month = months[m-1];
答案 3 :(得分:1)
期望.class
的原因是因为Java期望找到您提供int
类型的值。但是,类型不能用作值。
有一个值以int
开头的唯一可行方法是当我们访问其.class
属性时:编译器假定你想这样做。
有些地方可以放置内联变量声明,例如在for
循环中。 <{1}}之后的内容应该是一个表达式,因此禁止声明。
if
运算符否则,您会将==
的右侧(LHS)指定给=
,这不是您想要的。
m
由于您使用的是整数,因此可以轻松使用switch语句:
if
以switch (m) {
case 1: month="January"; break;
case 2: month="February"; break;
...
}
形式切换一系列整数通常被编译为直接访问,就像使用数组一样。
当然,您也可以定义一个静态的最终月份数组,并使用a..b
作为索引来访问它。
编辑:非常有趣的是,Java documentation中m
语句的示例正在处理您的确切问题。
你说过,&#34;我应该导入一个类#34;并且有效地,正如haifzan所暗示的那样,你只需要使用existing enum。