为什么输出我的平均分没有小数?为什么我的Eclipse会提示这个?
1、为什么输出我的平均分没有小数?
这段代码还有其他地方需要改进吗?
int[][] intArray=new int[3][2]; int Ywsum=0; double Ywpj=0.0; int Sxsum=0; double Sxpj=0.0; //从键盘输入学生成绩 Scanner s1=new Scanner(System.in); for(int i=0;i<intArray.length;i++) { System.out.println("请输入第"+(i+1)+"个学生的语文成绩:"); intArray[i][0]=s1.nextInt(); System.out.println("请输入第"+(i+1)+"个学生的数学成绩:"); intArray[i][1]=s1.nextInt(); } //算总成绩和平均分 for(int i=0;i<intArray.length;i++) { Ywsum+=intArray[i][0]; Sxsum+=intArray[i][1]; } //总成绩和平均分 Ywpj=Ywsum/intArray.length; Sxpj=Sxsum/intArray.length; System.out.println("语文的总成绩为:"+Ywsum); System.out.println("语文的平均分为:"+Ywpj); System.out.println("数学的总成绩为:"+Sxsum); System.out.println("数学的平均分为:"+Sxpj);
2、为什么我的Eclipse会提示这个?该怎么解决?
0
收起
正在回答
4回答
同学你好,这里当两个整数相除,Java中规定默认为int型,将小数舍去,所以在进行输出时需要进行强转为double类型。修改后的代码如下:
Ywpj =(double) Ywsum / intArray.length; Sxpj = (double) Sxsum / intArray.length;
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
好帮手慕酷酷
2019-09-02 18:47:53
同学你好,老师进行修改后是正确的呢~具体如图:
具体代码如下:
import java.util.Scanner; public class Test { public static void main(String[] args) { int[][] intArray = new int[3][2]; int Ywsum = 0; double Ywpj = 0.0; int Sxsum = 0; double Sxpj = 0.0; // 从键盘输入学生成绩 Scanner s1 = new Scanner(System.in); for (int i = 0; i < intArray.length; i++) { System.out.println("请输入第" + (i + 1) + "个学生的语文成绩:"); intArray[i][0] = s1.nextInt(); System.out.println("请输入第" + (i + 1) + "个学生的数学成绩:"); intArray[i][1] = s1.nextInt(); } // 算总成绩和平均分 for (int i = 0; i < intArray.length; i++) { Ywsum += intArray[i][0]; Sxsum += intArray[i][1]; } // 总成绩和平均分 Ywpj =(double) Ywsum / intArray.length; Sxpj = (double)Sxsum / intArray.length; System.out.println("语文的总成绩为:" + Ywsum); System.out.println("语文的平均分为:" + Ywpj); System.out.println("数学的总成绩为:" + Sxsum); System.out.println("数学的平均分为:" + Sxpj); } }
建议同学尝试输入不同的数据,进行测试哦~
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
1. Java 零基础入门
- 参与学习 人
- 提交作业 3802 份
- 解答问题 11489 个
本阶段带你迈入Java世界,学习Java必备基础知识,基础语法、面向对象思想以及常用工具类的使用。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星