Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/358.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_Switch Statement - Fatal编程技术网

Java 开关语句反转

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

好的,所以我正在为学校完成这个项目,它要求我做一个月的转换声明。因此,如果用户输入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 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语句的符号未定义。