【发布时间】:2015-08-25 05:28:49
【问题描述】:
我想让我的函数 void getScore(),但我希望这段代码仍然可以正常工作。我试图弄清楚我需要使用哪些论据,以及是否缺少任何其他代码来让这个 void 方法按我想要的方式工作。有什么想法吗?
import java.util.Scanner;
public class LowestScore {
int grade;
static int test1, test2, test3, test4, test5;
public static void main(String[] args){
getScore(test1);
test2 = getScore();
test3 = getScore();
test4 = getScore();
test5 = getScore();
System.out.print("Test1" +test1);
System.out.print("Test2" +test2);
System.out.print("Test3" +test3);
System.out.print("Test4" +test4);
System.out.print("Test5" +test5);
}
void getScore(){
Scanner score = new Scanner(System.in);
boolean testNum = false;
//int grade = 0;
do{
try{
testNum = true;
System.out.print("Enter in a test grade.");
grade = score.nextInt();
if((grade < 0) || (grade > 100)){
System.out.print("Invalid Entry. ");
testNum = false;
}
}catch (Exception e){
System.out.print("What you entered was not a grade. Try again. ");
testNum = false;
@SuppressWarnings("unused")
String clear = score.nextLine();
}
}while(!testNum);
//return;
//return grade;
}
}
【问题讨论】:
-
test2 = getScore();这一行与getScore()是一个void方法完全不兼容。您不能让getScore成为void方法并且拥有类似该行的任何东西。 -
应该更像上面那一行吗?
-
看起来应该是
int getScore(),看起来应该是return grade。 -
无效方法不允许我返回一个int?