【发布时间】:2015-08-13 07:07:20
【问题描述】:
在下面的代码中,在编译期间,我收到“不兼容类型”错误。 如果我使用其他逻辑,例如 charAt(0) 等等,这可以正常工作。 没有任何方法可以在 java switch 语句中使用字符串吗? 我正在使用 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");
}
}
}
【问题讨论】:
-
cc 是扫描仪类型的对象,您正在将其与字符串进行比较。
-
尝试在
Scanner cc = new Scanner(System.in);之后添加String text = cc.nextLine();,然后使用“文本”进行切换。 -
ps:如果你使用重要的变量名,你的错误会更清楚。 IE:扫描仪输入扫描仪...
标签: java string switch-statement incompatibletypeerror