В приведенном ниже коде во время компиляции я получаю ошибку «несовместимых типов». Если я использую другую логику, например 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");
}
}
}
cc является объектом типа сканера, и вы сравниваете его со строками. –
Попробуйте добавить 'String text = cc.nextLine();' после 'Scanner cc = new Scanner (System.in);', а затем использовать «текст» для вашего коммутатора. – Peut22
ps: если вы используете значимые имена переменных, ваша ошибка будет более понятной. IE: Scanner inputScanner ... –