Java 数学平均分数显示不正确
我一辈子都搞不明白为什么我的平均值显示不正确,我已经看了2个小时了Java 数学平均分数显示不正确,java,loops,average,Java,Loops,Average,我一辈子都搞不明白为什么我的平均值显示不正确,我已经看了2个小时了 import java.util.Scanner; public class midterm { public static void main(String[] args) { Scanner keyboard = new Scanner(System.in); int examScore =0; int averageExamScore = 0; int
import java.util.Scanner;
public class midterm
{
public static void main(String[] args)
{
Scanner keyboard = new Scanner(System.in);
int examScore =0;
int averageExamScore = 0;
int numStudent=0;
int sum=0;
while(examScore >= 0)
{
System.out.println("Enter exam scores (enter negative number to quit): ");
examScore = keyboard.nextInt();
numStudent++;
sum = sum + examScore;
}
if(numStudent > 0)
{
averageExamScore = sum/numStudent;
}
else
{
System.out.println("No scores to average");
}
}
}
您已将
averageExamCore
定义为整数,因此将应用整数算法
e、 g
将averageExamCore
转换为double,并将其他整数转换为double
编辑
打印
做
您已将
averageExamCore
定义为整数,因此将应用整数算法
e、 g
将averageExamCore
转换为double,并将其他整数转换为double
编辑
打印
做
您已将
averageExamCore
定义为整数,因此将应用整数算法
e、 g
将averageExamCore
转换为double,并将其他整数转换为double
编辑
打印
做
您已将
averageExamCore
定义为整数,因此将应用整数算法
e、 g
将averageExamCore
转换为double,并将其他整数转换为double
编辑
打印
做
这里的问题是整数除法
averageExamScore = sum/numStudent;
这三个参数都是整数,这意味着:
- 如果您将一部分商转换为
,您将失去精度(并且编译失败) 例如:double
averageExamScore = (double)sum/numStudent; // wouldn't compile
- 提供的是商
的下限,而不是整数(因此对于sum/numStudent
这样的数字,您将得到4.9
)4
- 将
声明为averageExamCore
。这是必需的double
- 将
或sum
转换为numStudent
,或将其类型更改为double
double
- 这里的问题是整数除法
averageExamScore = sum/numStudent;
这三个参数都是整数,这意味着:
- 如果您将一部分商转换为
,您将失去精度(并且编译失败) 例如:double
averageExamScore = (double)sum/numStudent; // wouldn't compile
- 提供的是商
的下限,而不是整数(因此对于sum/numStudent
这样的数字,您将得到4.9
)4
- 将
声明为averageExamCore
。这是必需的double
- 将
或sum
转换为numStudent
,或将其类型更改为double
double
- 这里的问题是整数除法
averageExamScore = sum/numStudent;
这三个参数都是整数,这意味着:
- 如果您将一部分商转换为
,您将失去精度(并且编译失败) 例如:double
averageExamScore = (double)sum/numStudent; // wouldn't compile
- 提供的是商
的下限,而不是整数(因此对于sum/numStudent
这样的数字,您将得到4.9
)4
- 将
声明为averageExamCore
。这是必需的double
- 将
或sum
转换为numStudent
,或将其类型更改为double
double
- 这里的问题是整数除法
averageExamScore = sum/numStudent;
这三个参数都是整数,这意味着:
- 如果您将一部分商转换为
,您将失去精度(并且编译失败) 例如:double
averageExamScore = (double)sum/numStudent; // wouldn't compile
- 提供的是商
的下限,而不是整数(因此对于sum/numStudent
这样的数字,您将得到4.9
)4
- 将
声明为averageExamCore
。这是必需的double
- 将
或sum
转换为numStudent
,或将其类型更改为double
double
public class MidTerm {
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
int examScore = 0;
double averageExamScore = 0;
int numStudent = 0;
int sum = 0;
while (true) {
System.out.print("Enter exam scores (enter negative number to quit): ");
examScore = keyboard.nextInt();
if (examScore >= 0) {
numStudent++;
sum += examScore;
} else break;
}
if (numStudent > 0) {
averageExamScore = sum / numStudent;
System.out.println("Avarage score is : " + averageExamScore);
} else System.out.println("No scores to average");
}
}
- AverageExamCore变量应为双精度变量,否则无法存储浮点值
祝你好运 检查以下代码
public class MidTerm {
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
int examScore = 0;
double averageExamScore = 0;
int numStudent = 0;
int sum = 0;
while (true) {
System.out.print("Enter exam scores (enter negative number to quit): ");
examScore = keyboard.nextInt();
if (examScore >= 0) {
numStudent++;
sum += examScore;
} else break;
}
if (numStudent > 0) {
averageExamScore = sum / numStudent;
System.out.println("Avarage score is : " + averageExamScore);
} else System.out.println("No scores to average");
}
}
- AverageExamCore变量应为双精度变量,否则无法存储浮点值
祝你好运 检查以下代码
public class MidTerm {
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
int examScore = 0;
double averageExamScore = 0;
int numStudent = 0;
int sum = 0;
while (true) {
System.out.print("Enter exam scores (enter negative number to quit): ");
examScore = keyboard.nextInt();
if (examScore >= 0) {
numStudent++;
sum += examScore;
} else break;
}
if (numStudent > 0) {
averageExamScore = sum / numStudent;
System.out.println("Avarage score is : " + averageExamScore);
} else System.out.println("No scores to average");
}
}
- AverageExamCore变量应为双精度变量,否则无法存储浮点值
祝你好运 检查以下代码
public class MidTerm {
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
int examScore = 0;
double averageExamScore = 0;
int numStudent = 0;
int sum = 0;
while (true) {
System.out.print("Enter exam scores (enter negative number to quit): ");
examScore = keyboard.nextInt();
if (examScore >= 0) {
numStudent++;
sum += examScore;
} else break;
}
if (numStudent > 0) {
averageExamScore = sum / numStudent;
System.out.println("Avarage score is : " + averageExamScore);
} else System.out.println("No scores to average");
}
}
- AverageExamCore变量应为双精度变量,否则无法存储浮点值
祝你好运 int/int将生成一个int,smallNumber/largeNumber将生成一个0,averageExamCore=(double)sum/numStudent,而您还没有输出averageExamCore,哇,我真是太累了,yikes.int/int将生成一个int,smallNumber/largeNumber将生成0,averageExamCore=(double)sum/numStudentand你还没有输出averageExamCore,哇,我太累了,yikes.int/int将生成一个int,smallNumber/largeNumber将生成0,结果averageExamCore=(double)sum/numStudentand你还没有输出averageExamCore,哇,我太累了,yikes.int/int将生成一个int,smallNumber/largeNumber将得到0,averageExamCore=(double)sum/numStudent,而你还没有输出averageExamCore,哇,我太累了,yikes。谢谢你,我想太晚了,我忘了基本的东西了,哈哈,是个胖人,我想太晚了,我忘了基本的哈哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈