import java.util.*;
public class StudentWelcome
{
public static void main(String[]args)
{
Scanner in = new Scanner(System.in);
System.out.print("Please enter your student login");
char ident = in.next().charAt(0,1);
if (ident == '19')
{
System.out.println("Welcome Freshman")
}
else if (ident == '18')
{
System.out.println("Welcome Sophomore")
}
else if (ident.equals(17))
{
System.out.println("Welcome Sophomore")
}
else if (ident.equals)
}
}
我基本上试图通过输入确定某人是哪一年" 19johndo"或" 17daquanra"并打印正确的欢迎声明。 eclipse在第13行显示错误,表示无效的字符常量。我该怎么办?
答案 0 :(得分:0)
@VGR在上面的评论中是正确的,这是基本的" Java的介绍"东西。但由于StackOverflow是一个Q& A资源,这是一个Q,我将提供一个A.
charAt(int, int)
上没有String
方法,因此该行甚至无法编译。如果您真的对输入String
的前2个字符感兴趣,请使用substring(0, 2)
。这将返回String
,而不是char
,因此您需要更改ident
变量的类型。您还必须更新ident
语句中if
的比较方式,因为您尝试与(无效)char
字面值进行比较。但char
s不能超过一个字符,因此您需要与String
字面值进行比较,例如:
if (ident.equals("19")) {
这将使您的代码得到编译,甚至可能正常工作,但它仍然不是做您似乎正在尝试做的事情的最佳方式。但是试图讨论更好的实现超出了这个问题的范围。