import java.util.*;
public class ceshi {
public static void main(String[] jlasgdkajs){
Scanner input=new Scanner(System.in);
System.out.print("请输入学生人数");
int ren=input.nextInt();
int renshu=0;
for(int i=1;i<=ren;i++){
System.out.print("请输入第"+i+"名学生的成绩");
int score=input.nextInt();
if(score>80){
renshu++;
}else{
continue;
}
}
System.out.println("成绩大于80分的有"+renshu+"人");
System.out.println("占所有人数的"+(renshu/ren));
}
}以上是小弟打的代码,就是最后求人数所占比例的时候不是显示的比例,忘记应该怎么弄了,假如我输入的是7人,大于80分的有4人,那应该输出57.142857......是double类型的,请教
public class ceshi {
public static void main(String[] jlasgdkajs){
Scanner input=new Scanner(System.in);
System.out.print("请输入学生人数");
int ren=input.nextInt();
int renshu=0;
for(int i=1;i<=ren;i++){
System.out.print("请输入第"+i+"名学生的成绩");
int score=input.nextInt();
if(score>80){
renshu++;
}else{
continue;
}
}
System.out.println("成绩大于80分的有"+renshu+"人");
System.out.println("占所有人数的"+(renshu/ren));
}
}以上是小弟打的代码,就是最后求人数所占比例的时候不是显示的比例,忘记应该怎么弄了,假如我输入的是7人,大于80分的有4人,那应该输出57.142857......是double类型的,请教
解决方案 »
- 为什么增加键盘事件,运行的时候一点反应都没有啊
- 有关rcp中PropertySheet的使用。
- JAVA图片发送功能,请高手指教!
- 小菜问题--关于向数据库存储日期时间类型数据
- 监视打印机的问题
- 执行后BUTTON,LABEL,TEXTFIELD都不可见,请问各位高手,为什么?
- open save
- 如何让开源码在我本地跟踪调试
- 一个关于io的问题
- 各位做大型应用的时候,用什么服务器?Weblogic,WebsPhere,iPlanet?
- 关于内部类的问题,请教下
- java 怎么去生成短格式的XML文件<Allow value="中文"></Allow >改成<Allow value="中文"/>
改成:(double)renshu/ren
System.out.println("占所有人数的" + ((double)renshu / ren));//强制转换为double
Scanner input=new Scanner(System.in);
System.out.print("请输入学生人数");
int ren=input.nextInt();
int renshu=0;
for(int i=1;i<=ren;i++){
System.out.print("请输入第"+i+"名学生的成绩");
int score=input.nextInt();
if(score>80){
renshu++;
}else{
continue;
}
}
double bl = new Double(renshu).doubleValue()/new Double(ren).doubleValue();
System.out.println("成绩大于80分的有"+renshu+"人");
System.out.println("占所有人数的"+bl);
}
你两个参数都是int的他会强转成int就是只取整数部分的
把它改成System.out.println("占所有人数的"+(double)renshu/ren);
就会输出double型
要想有%比号的我把你的程序改成这样
import java.math.BigDecimal;
import java.math.MathContext;
import java.math.RoundingMode;
import java.util.*;public class ceshi {
public static void main(String[] jlasgdkajs) {
Scanner input = new Scanner(System.in);
System.out.print("请输入学生人数");
int ren = input.nextInt();
int renshu = 0;
for (int i = 1; i <= ren; i++) {
System.out.print("请输入第" + i + "名学生的成绩");
int score = input.nextInt();
if (score > 80) {
renshu++;
} else {
continue;
}
}
System.out.println("成绩大于80分的有" + renshu + "人");
double bili=todouble(renshu,ren);
System.out.println("占所有人数的" + bili+"%");
}
static double todouble(int a,int b){
MathContext m=new MathContext(4, RoundingMode.HALF_UP);
BigDecimal bd=new BigDecimal((double)a/b, m);
return bd.doubleValue()*100;
}
}