已有101人关注
java小问题
发表在Java图书答疑 2013-12-04
是否精华
版块置顶:
编写代码

import java.util.Scanner;


public class Number {

/**
 * 求高于80分的人数比例
 * @param args
 */
public static void main(String[] args) {
// TODO 自动生成的方法存根

System.out.println("请输入学生人数");
Scanner s=new Scanner(System.in);
int a=s.nextInt();//a为人数
int b;//b为成绩
int c=0;//c为高于80分的人数
for(int i=0;i<a;i++){
System.out.print("输入第"+(i+1)+"个同学的成绩");
b=s.nextInt();
if(b>80){
c++;
}

}

double d=c/a;
System.out.println("人数为"+a);
System.out.println("高于80分的人数为"+c);

System.out.println("高于80分的比率为"+d);

}

}
运行结果如下

请输入学生人数
2
输入第1个同学的成绩61
输入第2个同学的成绩85
人数为2
高于80分的人数为1
高于80分的比率为0.0


一个高于80,一个低于80.
比率应该为0.5的,怎么为0.0.

求教!!!

已经明白,如果a.b.c都改成double就可以了,

但是在没改之前,d 是double类型,c/a不能成为double类型吗?
分享到:
精彩评论 1
无语_mrkj
学分:3155 LV11
2013-12-06
沙发
对于int型的a和c,c/a不能自动转换成为double类型,需要a或者c中有一个是double才行。
首页上一页 1 下一页尾页 1 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照