Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在比较字符时,如何修复无效的字符常量?_Java_Eclipse - Fatal编程技术网

Java 在比较字符时,如何修复无效的字符常量?

Java 在比较字符时,如何修复无效的字符常量?,java,eclipse,Java,Eclipse,我基本上是通过输入“19johndo”或“17daquanra”来确定某人是哪一年,并打印正确的欢迎声明。eclipse在第13行显示一个错误,该错误表示字符常量无效。我该怎么办?@VGR在上面的评论中是正确的,这是基本的“Java简介”内容。但是因为StackOverflow是一个Q&a资源,而这是一个Q,所以我将提供一个a 在字符串上没有charAt(int,int)方法,所以该行甚至不会编译。如果您确实对输入的字符串的前两个字符感兴趣,请使用子字符串(0,2)。这将返回一个字符串,而不是字

我基本上是通过输入“19johndo”或“17daquanra”来确定某人是哪一年,并打印正确的欢迎声明。eclipse在第13行显示一个错误,该错误表示字符常量无效。我该怎么办?

@VGR在上面的评论中是正确的,这是基本的“Java简介”内容。但是因为StackOverflow是一个Q&a资源,而这是一个Q,所以我将提供一个a

字符串上没有
charAt(int,int)
方法,所以该行甚至不会编译。如果您确实对输入的
字符串的前两个字符感兴趣,请使用
子字符串(0,2)
。这将返回一个
字符串
,而不是
字符
,因此您需要更改
标识
变量的类型。您还必须更新在
if
语句中比较
ident
的方式,因为您试图与(无效的)
char
文本进行比较。但是
char
s不能超过一个字符,因此需要与
String
文本进行比较,例如:

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)
    }
}

这将使您的代码得以编译,甚至可以正常工作,但这仍然不是实现您所尝试的目标的最佳方式。但是试图讨论更好的实现已经超出了这个问题的范围。

chatAt(0,1)
应该做什么?您是否试图从
字符串的前两个字符中生成
字符
?你不能那样做。字符是一个字符。出于同样的原因,您不能执行
'19'
'18'
'17'
,因为这是两个字符。请打开任何solid Java教程。阅读有关类型(字符/字符串)和比较字符串的信息检查正在比较的字符!您应该阅读并了解什么是字符串和字符。说真的,这些教程是为帮助你而设计的。特别是“数字和字符串”教程将解释字符和字符串之间的区别。
if (ident.equals("19")) {