Java 开关语句反转
好的,所以我正在为学校完成这个项目,它要求我做一个月的转换声明。因此,如果用户输入1,它将在1月份打印出来,以此类推。。。我得到的错误是:找不到符号变量Java 开关语句反转,java,switch-statement,Java,Switch Statement,好的,所以我正在为学校完成这个项目,它要求我做一个月的转换声明。因此,如果用户输入1,它将在1月份打印出来,以此类推。。。我得到的错误是:找不到符号变量 import java.util.*; /** * Outputs the number on a month name entered by the user. * * @author Jack * @version 1a */ public class MonthSwitchReverse { public static
import java.util.*;
/**
* Outputs the number on a month name entered by the user.
*
* @author Jack
* @version 1a
*/
public class MonthSwitchReverse {
public static void main(String[] args) {
Scanner in = new Scanner (System.in);
int monthString;
String month;
System.out.println(" Jan = 1 / Feb = 2 / March = 3 / April = 4 / MAy = 5 / June = 6");
System.out.println(" July = 7 / Aug = 8 / Sep = 9 / Oct = 10 / Nov = 11 / Dec = 12");
System.out.print("Choose a month above and the system will print out the number assigned to that month: ");
month = in.next();
switch (month) {
case "January": monthString = 1;
break;
case "February": monthString = 2;
break;
case "March": monthString = 3;
break;
case "April": monthString = 4;
break;
case "May": monthString = 5;
break;
case "June": monthString = 6;
break;
case "July": monthString = 7;
break;
case "August": monthString = 8;
break;
case "September": monthString = 9;
break;
case "October": monthString = 10;
break;
case "November": monthString = 11;
break;
case "December": monthString = 12;
break;
default: monthString = 404;
break;
}
System.out.println(monthString);
}
}
编辑:我修好了。谢谢您的帮助。因为您要将一个整数传递给switch,所以每个case都应该是一个int值 比如说
case 1: monthString = "1";
case 2: monthString = "2";
剩下的所有人也一样
建议阅读:那么你认为这些符号是在哪里定义的呢?(如果想法是让用户输入名称,为什么要使用
int
作为用户输入?)我也不知道January
是在哪里定义的。你是说一月吗?或者你的意思是“一个叫做一月
”的变量?”我能问一下为什么这个问题被否决了吗?好的,这是一个简单的错误,但是一个有效的问题,通过复制的代码,我们可以看到他们尝试了什么。但是你在读ints?您的另一个错误已经声明,switch语句的符号未定义。