在switch语句中使用字符串,通过从用户输入
在下面的代码中,在编译期间,我得到'incompatible types'错误。 如果我使用其他逻辑,如charAt(0)和所有,这工作正常。 没有任何方法可以在java switch语句中使用字符串吗? 我使用JDK 7.在switch语句中使用字符串,通过从用户输入
谢谢。
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");
}
}
}
您可以通过从用户处输入以下代码。
import java.util.Scanner;
public 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);
String txt = cc.nextLine();
switch (txt) {
case "IND":
System.out.println(txt + " refers to INDIA");
break;
case "USA":
System.out.println(txt + " refers to UNITED STATES");
break;
case "JPN":
System.out.println(txt + " refers to JAPAN");
break;
case "NZ":
System.out.println(txt + " refers to NEW ZEALAND");
break;
case "WI":
System.out.println(txt + " refers to WEST INDIES");
break;
default:
System.out.println("Invalid choice");
}
}}
我想你想这样做:
String theText = cc.next();
switch(theText) {
//your code.
}
希望这能解决你的问题。
我怀疑OP需要在他/她稍后打印时放入一个变量。 –
是的,我同意,它完成了。 –
我也得到这个错误: java.util.Scanner [delimiters = \ p {javaWhitespace} +] [position = 4] [match valid = true] [need input = false] [source closed = false] [skip = false] [group separator = \,] [decimal separator = \。] [positive prefix =] [negati ve prefix = \ Q- \ E] [positive suffix =] [negative suffix =] [NaN string = \ Q ?\ E] [infinity string = \Q∞\ E]指NEW ZEALAND – Shreyas
cc是扫描仪类型的对象,您正在将它与字符串进行比较。 –
尝试在'Scanner cc = new Scanner(System.in);'后面添加'String text = cc.nextLine();',然后在交换机上使用'text'。 – Peut22
ps:如果你使用重要的变量名,你的错误会更清晰。 IE:Scanner inputScanner ... –