在switch语句中使用string,通过从用户获取输入

时间:2015-08-13 07:07:20

标签: java string switch-statement incompatibletypeerror

在下面的代码中,在编译期间,我收到“不兼容类型”错误。 如果我使用其他逻辑,如charAt(0)和所有,这可以正常工作。 是不是有任何方法在java switch语句中使用string? 我正在使用JDK 7。

感谢。

import java.util.Scanner;

class cCode
{
    public static void Main(String args [])`
    {
        System.out.println("Enter country code\nChoices: IND, USA, JPN, NZ, WI");
        Scanner cc = new Scanner(System.in);
        switch(cc)
        {
            case "IND":
                System.out.println(cc+" refers to INDIA");
                break;  
            case "USA":
                System.out.println(cc+" refers to UNITED STATES");
                break;
            case "JPN":
                System.out.println(cc+" refers to JAPAN");
                break;
            case "NZ":
                System.out.println(cc+" refers to NEW ZEALAND");
                break;
            case "WI":
                System.out.println(cc+" refers to WEST INDIES");
                break;
            default:
                System.out.println("Invalid choice");
        }
    }
}

2 个答案:

答案 0 :(得分:1)

我想你想这样做:

String theText = cc.next();
switch(theText) {
   //your code.
}

希望这能解决你的问题。

答案 1 :(得分:0)

您可以通过从用户那里获取输入来使用以下代码。

{"message":" 08/13/2015 07:08:11 AM - WARNING - MainProcess - 31186 -  agentmgr.views.session - save_session - Agent client got connected 98aa75fe-0ea3-11e5-9329-02add7aa4bff","category":"celery-logs","@version":"1","@timestamp":"2015-08-13T07:10:33.330Z","tags":["_grokparsefailure"]}