我不断收到此错误,
问题描述:
double average = calcAverage(grade1, grade2, grade3, grade4, grade5);
System.out.println("The average is: ");
determineGrade(average);
public static double calcAverage(int grade1, int grade2, int grade3, int grade4, int grade5) {
double average = (grade1 + grade2 + grade3 + grade4 + grade5)/5;
return average;
}
我不断收到地方说:determineGrade(average)
错误,该错误表示:我不断收到此错误,
此方法必须返回一个double类型的结果
答
所有的输入都是整数。所以你的结果将是一个整数。你需要至少投一个int来加倍,那么你的结果也是双倍的。
双平均=(双)(grade1 + grade2 + grade3 + grade4 + grade5)/ 5
答
Ok sorry, but the rest of the code comes as follows,
import java.util.*;
public class Stock
{
public static void main (String[] args)
{
int grade1=0;
int grade2=0;
int grade3=0;
int grade4=0;
int grade5=0;
// All of the below are gathering input from user
System.out.println("What is the first grade?");
Scanner input = new Scanner(System.in);
grade1=input.nextInt();
System.out.println("What is the second grade?");
Scanner input2 = new Scanner(System.in);
grade2=input.nextInt();
System.out.println("Whar is the third grade?");
Scanner input3 = new Scanner(System.in);
grade3=input.nextInt();
System.out.println("What is the fourth grade?");
Scanner input4 = new Scanner(System.in);
grade4=input.nextInt();
System.out.println("What is the fifth grade?");
Scanner input5 = new Scanner(System.in);
grade5=input.nextInt();
double average = calcAverage(grade1, grade2, grade3, grade4, grade5);
System.out.println("The average is: ");
determineGrade(average);
}
public static double calcAverage(int grade1, int grade2, int grade3, int grade4, int grade5)
{
double average = (grade1 + grade2 + grade3 + grade4 + grade5)/5;
return average;
}
public static double determineGrade(double average)
{
if (average>90)
{
System.out.println("You got an A");
}
else if (average>=80)
{
System.out.println("You got a B");
}
else if (average>=70)
{
System.out.println("You got a C");
}
else if (average>=60)
{
System.out.println("You got a D");
}
else if (average<60)
{
System.out.println("You got an F");
}
}
}
+2
当您需要添加缺少的代码时,请编辑原始问题。不要为自己的问题添加答案,因为这不是答案,是吗?现在你是否搜索了“投入int加倍?”另外,请查看SO [帮助文件](http://*.com/help)。它会帮助你使用这个网站来获得更好的答案。 – MarsAtomic 2014-10-01 23:35:10
答
这是因为在determineGrade
你什么都不返回。你只打印一些东西,但什么都不返回。所以,请将退回类型determineGrade
作废,或者至少让它返回double
。
对不起,我很困。你正在喂食你的int类型的方法参数,并期望它能推出一个double类型的方法参数。使用你的Google Fu并搜索“cast int double”,然后删除这些问题。 – MarsAtomic 2014-10-01 23:25:53
没有足够的代码来说明发生了什么。 'determineGrade()'的代码在哪里? – John3136 2014-10-01 23:27:52
函数'determineGrade'在哪里? – jww 2014-10-02 01:03:43