Я хочу просто прочитать ввод (Char/String, желательно char), его одиночный символ, а затем напечатать несколько выходов на основе входов. Мои проблемы, с которыми сталкиваются в том, что, если я конвертировать мой вход «выбор» в полукокса, мои сообщения об ошибках:Не можете сравнить Char/String?
Несоответствие типа: не может конвертировать из строки на символ Несовместимые типы операндов обугливается и Строка
любая идея, Что неправильно? Благодаря!
* Если бы я оставил его, как это он просто дает мне «Invalid выбор»
import java.util.*;
public class P1 {
public static void main(String[] args) {
// Create a scanner
Scanner userInputScanner = new Scanner(System.in);
String choice = userInputScanner.nextLine();
System.out.println("Your choice is " + choice);
if ((choice == "A") || (choice == "a"))
System.out.println(" Action Movie Fan");
else if ((choice == "C") || (choice == "c"))
System.out.println(" Comedy movie fan ");
else if ((choice == "D") || (choice == "d"))
System.out.println(" Drama movie fan ");
else
System.out.println("Invalid choice");
}
}
Я не думаю, что вы получили сообщение об ошибке с фрагментом кода, который вы предоставили. Но использовать 'equals()' ('equalsIgnoreCase()' было бы лучше для вас в этом случае) для сравнения значений String. –
nextLine() вернет String, если вы хотите вводить как Char, вам нужно прочитать String, а затем String.toCharArray(). [0] вернет вам персонаж в первую позицию –