求解
为什么avg会是错误的(有的时候)?
为什么bili没用?
代码如下:package shuzu;
import java.util.*;public class LiuChengTest {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
int score = 0;
int count=0;
int sum=0;
int avg=0;
int bili=0;
int stuNum=4;
for(int i=1;i<=3;i++){
System.out.println("请输入第"+i+"班级的学员成绩:");
for(int j=1;j<=stuNum;j++){
System.out.println("请输入第"+j+"学员的成绩:");
score = input.nextInt();
sum+=score;
if(score<85){
continue;
}
count++;
}
avg=sum/4;
bili = (count/stuNum)*100;
System.out.println("学员的平均分为:"+avg);
System.out.println("85分以上学员的比例为:"+bili+"%");
}
}
}
为什么avg会是错误的(有的时候)?
为什么bili没用?
代码如下:package shuzu;
import java.util.*;public class LiuChengTest {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
int score = 0;
int count=0;
int sum=0;
int avg=0;
int bili=0;
int stuNum=4;
for(int i=1;i<=3;i++){
System.out.println("请输入第"+i+"班级的学员成绩:");
for(int j=1;j<=stuNum;j++){
System.out.println("请输入第"+j+"学员的成绩:");
score = input.nextInt();
sum+=score;
if(score<85){
continue;
}
count++;
}
avg=sum/4;
bili = (count/stuNum)*100;
System.out.println("学员的平均分为:"+avg);
System.out.println("85分以上学员的比例为:"+bili+"%");
}
}
}
解决方案 »
- 在Oracle中怎样将指定的列转存到指定的行中
- 学习java以来遇到的最奇怪的问题(静态页面生成问题)
- 200分求助--------ResultSet结果集如何传给jsp....
- 一段简单的代码看不太理解? 带问号的地方 是怎么作用啊??
- 弱弱的问:为什么我的jsp看到的是源码?
- 带层的页面,struts能处理吗,我提交后运行特慢,只能走到38%,但无出错信息,帮忙啊!!!!!!!!!!
- 救命啊,get请求串中包含#如果处理?
- 论坛的功能
- 使用String.trim();可以去掉前后的空格,那么字符串" d d "中间的空格怎么去掉呀!!?
- 树形视图问题
- jsp网页中插入mpg视频文件wmplayer播放时只有声音,没有图像
- sql语句
改成
bili = count*100/stuNum);
/这个运算符是不会取小数点以后的结果的
int sum = 0;
int avg = 0;
放到第一个for循环里面去。
sum=0;平均数bili = (count/stuNum)*100;
可以利用NumberFormat对象格式化数值:eg: int num1 = 1;
int num2 = 4;
// 创建一个数值格式化对象
NumberFormat numberFormat = NumberFormat.getInstance();
// 设置精确到小数点后2位
numberFormat.setMaximumFractionDigits(2);
String result = numberFormat.format((float)num1/(float)num2*100);
System.out.println("num1和num2的百分比为:" + result + "%");
public class LiuChengTest {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
for(int i=1;i<=3;i++){
int score = 0;
int count=0;
int sum=0;
int avg=0;
int bili=0;
int stuNum=4;
System.out.println("请输入第"+i+"班级的学员成绩:");
for(int j=1;j<=stuNum;j++){
System.out.println("请输入第"+j+"学员的成绩:");
score = input.nextInt();
sum+=score;
if(score<85){
continue;
}
count++;
}
avg=sum/4;
bili = (count/stuNum)*100;
System.out.println("学员的平均分为:"+avg);
System.out.println("85分以上学员的比例为:"+bili+"%");
}
}
}
public class LiuChengTest {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
for(int i=1;i<=3;i++){
double score = 0;
int count=0;
int sum=0;
double avg=0;
double bili=0;
int stuNum=4;
System.out.println("请输入第"+i+"班级的学员成绩:");
for(int j=1;j<=stuNum;j++){
System.out.println("请输入第"+j+"学员的成绩:");
score = input.nextInt();
sum+=score;
if(score>85){
count++;
}
}
avg=(double)sum/4;
bili = ((double)count/(double)stuNum)*100;
System.out.println("学员的平均分为:"+avg);
System.out.println("85分以上学员的比例为:"+bili+"%");
}
}
}
运行结果
[code=运行结果]
请输入第1班级的学员成绩:
请输入第1学员的成绩:
99
请输入第2学员的成绩:
99
请输入第3学员的成绩:
99
请输入第4学员的成绩:
99
学员的平均分为:99.0
85分以上学员的比例为:100.0%
请输入第2班级的学员成绩:
请输入第1学员的成绩:
95
请输入第2学员的成绩:
95
请输入第3学员的成绩:
20
请输入第4学员的成绩:
20
学员的平均分为:57.5
85分以上学员的比例为:50.0%
请输入第3班级的学员成绩:
请输入第1学员的成绩:
95
请输入第2学员的成绩:
95
请输入第3学员的成绩:
95
请输入第4学员的成绩:
20
学员的平均分为:76.25
85分以上学员的比例为:75.0%[/code]