Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.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 - Fatal编程技术网

Java 如果语句检查似乎无法正常工作

Java 如果语句检查似乎无法正常工作,java,Java,我有一段代码: public Student(String name, String subject) { if(subject.substring(17,18) == "e"){ subjectName = "English"; }else if(subject.substring(17,18) == "m") { subjectName = "Math"; } studentNam

我有一段代码:

public Student(String name, String subject) {
        if(subject.substring(17,18) == "e"){
            subjectName = "English";
        }else if(subject.substring(17,18) == "m") {
            subjectName = "Math";
        }
        studentName = name;
    }
我给学生输入一个名称,作为字符串,然后是一个主题,其形式如下:

..\text\students\english\grades
if(subject.substring(17,18).equals("e")){
        subjectName = "English";
    }else if(subject.substring(17,18).equals("m")) {
        subjectName = "Math";
    }
现在我使用子字符串,只得到主题的第一个字母。如果字母是e,那么课程名称是英语,依此类推

但是由于某些原因,如果我的支票根本不通过,如果我在支票中抛出一个sysout,什么都不会发生,支票在应该通过的时候永远不会通过

这里可能有什么问题?

您正在使用==比较字符串,您需要对字符串使用.equals方法

尝试将代码更改为以下内容:

..\text\students\english\grades
if(subject.substring(17,18).equals("e")){
        subjectName = "English";
    }else if(subject.substring(17,18).equals("m")) {
        subjectName = "Math";
    }

工作很有魅力,非常感谢!缺少几个括号。在\\处拆分并使用StartWith作为正确的索引更有意义。