public class HelloWorld {
public static void main(String[] args) {
// 创建对象,对象名为hello
HelloWorld hello = new HelloWorld();
// 调用方法,传入两门课程的成绩
hello.calcAvg(94, 81);
}
/*
* 功能:计算两门课程考试成绩的平均分并输出平均分
* 定义一个包含两个参数的方法,用来传入两门课程的成绩
*/
public void calcAvg(int score1, int score2){
int sum = score1 + score2;
double avg = sum/2;
System.out.println(avg);
}结果问题: int sum = score1 + score2;
double avg = sum/2;
System.out.println(avg);这样输出的结果是87.0,而 double sum = score1 + score2;
double avg = sum/2;
System.out.println(avg);这样输出的结果是87.5,这是为什么啊,求解啊 各位大佬!
1 回答
已采纳
驱虎吞狼猎
TA贡献47条经验 获得超39个赞
public void calcAvg(int score1, int score2){ int sum = score1 + score2; double avg = sum/2; System.out.println(avg); }
主要看这里的代码.
double avg = sum/2;
sum是int类型,这个时候除以2所得到的结果也是int类型,(94+81)/2=87,然后再转为double类型就变成了87.0
如果你把score1和score2都定义为double类型,就会正常显示了
添加回答
举报
0/150
提交
取消