gpt4 book ai didi

java - For 循环缺少返回语句错误 - JAVA

转载 作者:行者123 更新时间:2023-12-01 18:36:12 26 4
gpt4 key购买 nike

我在最后一个括号上收到缺少返回语句的错误,我不知道为什么。该方法基本上采用与学生类(class)和当前调查问题相对应的字符串。外部 if 语句与主题相对应(例如:数学、科学、英语...)。 for 循环迭代数组并将用户输入(“美国历史”)与数组列表中的字符串进行匹配。如果它们相等,则返回找到它的索引。否则,它继续 for 循环。该方法返回一个 int,但我仍然在最后一个括号上收到错误。请帮忙!

 public static int findNumber(String course, int currentQuestion) {
String newCourse = course.toLowerCase();

if (RateDriver.levelText.equals("math")) {
for (int i = 0; i < RateSurvey.math.length-1;i++) {
if (newCourse.equals(RateSurvey.math[i])) return survey[currentQuestion][i];
}
return 100;
}

else if (RateDriver.levelText.equals("science")) {
for (int i = 0; i < RateSurvey.science.length-1;i++) {
if (newCourse.equals(RateSurvey.science[i])) return survey[currentQuestion][i];

}
return 100;
}
else if (RateDriver.levelText.equals("english")) {
for (int i = 0; i < RateSurvey.english.length-1;i++) {
if (newCourse.equals(RateSurvey.english[i])) return survey[currentQuestion][i];

}
return 100;
}
else if (RateDriver.levelText.equals("social studies")) {
for (int i = 0; i < RateSurvey.social.length-1;i++) {
if (newCourse.equals(RateSurvey.social[i])) return survey[currentQuestion][i];
}
}
else if (RateDriver.levelText.equals("art")) {
for (int i = 0; i < RateSurvey.art.length-1;i++) {
if (newCourse.equals(RateSurvey.art[i])) return survey[currentQuestion][i];
}
return 100;
}
else if (RateDriver.levelText.equals("pe")) {
for (int i = 0; i < RateSurvey.pe.length-1;i++) {
if (newCourse.equals(RateSurvey.pe[i])) return survey[currentQuestion][i];
}
}
else if (RateDriver.levelText.equals("chinese")) {
for (int i = 0; i < RateSurvey.chinese.length-1;i++) {
if (newCourse.equals(RateSurvey.chinese[i])) return survey[currentQuestion][i];
}
}
else if (RateDriver.levelText.equals("japanese")) {
for (int i = 0; i < RateSurvey.japanese.length-1;i++) {
if (newCourse.equals(RateSurvey.japanese[i])) return survey[currentQuestion][i];
}
return 100;
}
else if (RateDriver.levelText.equals("french")) {
for (int i = 0; i < RateSurvey.french.length-1;i++) {
if (newCourse.equals(RateSurvey.french[i])) return survey[currentQuestion][i];
}
return 100;
}
else if (RateDriver.levelText.equals("spanish")) {
for (int i = 0; i < RateSurvey.spanish.length-1;i++) {
if (newCourse.equals(RateSurvey.spanish[i])) return survey[currentQuestion][i];
}
return 100;
}
else if (RateDriver.levelText.equals("hawaiian")) {
for (int i = 0; i < RateSurvey.hawaiian.length-1;i++) {
if (newCourse.equals(RateSurvey.hawaiian[i])) return survey[currentQuestion][i];
}
return 100;
}
else return 100;

**}** // this is where I get the error

最佳答案

如果 for 循环中没有返回任何内容,则代码的某些部分不会返回任何内容,例如:

else if (RateDriver.levelText.equals("social studies")) {
for (int i = 0; i < RateSurvey.social.length-1;i++) {
if (newCourse.equals(RateSurvey.social[i])) return survey[currentQuestion][i];
}
}

因此,如果程序到达这部分代码并且最终没有返回 survey[currentQuestion][i],那么它将跳到 if-else 链的末尾,而不是返回返回任何东西。您应该将它们更改为如下所示:

else if (RateDriver.levelText.equals("social studies")) {
for (int i = 0; i < RateSurvey.social.length-1;i++) {
if (newCourse.equals(RateSurvey.social[i])) return survey[currentQuestion][i];
}
return 100;
}

关于java - For 循环缺少返回语句错误 - JAVA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21923853/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com