为什么输出我的平均分没有小数?为什么我的Eclipse会提示这个?
1、为什么输出我的平均分没有小数?
这段代码还有其他地方需要改进吗?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | 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类型。修改后的代码如下:
1 2 | Ywpj =( double ) Ywsum / intArray.length; Sxpj = ( double ) Sxsum / intArray.length; |
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
好帮手慕酷酷
2019-09-02 18:47:53
同学你好,老师进行修改后是正确的呢~具体如图:
具体代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | 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积分~
来为老师/同学的回答评分吧