【发布时间】:2014-01-19 13:59:15
【问题描述】:
我想要做的只是读取一个输入(Char/String,最好是 char),它是一个单个字符,然后根据输入打印一些输出。我面临的问题是,如果我将输入的“选择”转换为字符,我的错误消息是:
类型不匹配:无法从 String 转换为 char 不兼容的操作数类型 char 和 String
知道有什么问题吗?谢谢!
*如果我这样离开它只会给我“无效的选择”
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" );
}
}
【问题讨论】:
-
我认为您提供的代码的 sn-p 不会出错。但是使用
equals()(在这种情况下equalsIgnoreCase()更适合你)来比较字符串值。 -
nextLine() 将返回 String 如果你想输入为 Char 你必须读取 String 然后 String.toCharArray().[0]会让你的角色回到第一个位置