java求成绩平均数的程序

来源:百度知道 编辑:UC知道 时间:2024/06/18 03:12:28
求五项成绩的平均数
import java.util.*;
public class ww {
public static void main(String[] args) {
System.out.println("请输入学员姓名:");
String name = input.next();
int sum = 0;
boolean isF =true;
for(int i=0; i<5; i++)
{
System.out.println("请输入"+name+"的第"+(i+1)+"课程的成绩:");
int nScore = input.nextInt();
if(nScore<0)
{
isF = false;
break;
}
sum = sum+nScore;
}
if(isF==false)
{
System.out.println("成绩不能为负数");
}else{
int nAvg = sum/5;
System.out.println(name+"学生的平均成绩是:"+nAvg);
}

}
}

我写这个程序有点问题
如果成绩里有一个是0分 最后求平均依然是除5...这里怎么解决
高手帮忙改下程序

楼主,你好...

是这样子的,我已经按照你的需求,把程序改好了...

public class ww {
public static void main(String[] args) {

Scanner input = new Scanner(System.in);
System.out.println("请输入学员姓名:");
String name = input.next();
int sum = 0;
int j=1;
for (int i = 1; i < 6; i++,j++) {
System.out.println("请输入" + name + "的第" + i + "课程的成绩:");
int nScore = input.nextInt();
if (nScore == 0) {
j--;
}else if(nScore<0){
System.out.println("成绩不能为负数");
j--;
break;
}
sum = sum + nScore;
}
int nAvg = sum / j;
System.out.println(name + j+"科考试"+"学生的平均成绩是:" + nAvg);
}

}

ps:1楼的,你别瞎说哈 int nAvg = sum/5 这个话永远不会出错,只是程序会自动转换为 整形的...

希望我的回答对楼主有所帮助...

给你几个建议:
1. 程序时看懂了,不过你的问题似乎还有点不明了

2. 你的程序中int nAvg = sum/5;这句话可能出错,因为除后不一定那