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作为正确的索引更有意义。