2 xk646842195 xk646842195 于 2016.09.24 22:24 提问

用JAVA解答,谢谢各位大神了

编写一个程序,根据输入某个班级学员的成绩,计算该班级学员的平均成绩。班级的人数要求用户输入。根据输入的人数,分别录入学员的成绩。计算该班级学员的平均成绩,并显示计算结果。最后询问用户是否继续,直到用户确定要结束程序退出。
输出结果如下

请输入班级号:1
请输入该班级学员总数:5
输入学号1的成绩:89
输入学号2的成绩:67
。。。。。。。。。。。。。。。。
输入学号5的成绩:78
该班级学员的平均成绩为71
是否输入另一个班级的成绩(Y/N)?
n
press any key to continue

5个回答

wuxing_java
wuxing_java   2016.09.24 23:10

package csdn.exercise;

import java.util.Scanner;

public class Student {
public static int toInt(Scanner sc)
{
while(true)
{
String line = sc.nextLine();
try
{
int num = Integer.parseInt(line);
return num;
}
catch(Exception e)
{
System.out.println("未按要求输入,请重新输入");
}
}
}
public static float toFloat(Scanner sc)
{
while(true)
{
String line = sc.nextLine();
try
{
float f = Float.parseFloat(line);
return f;
}
catch(Exception e)
{
System.out.println("未按要求输入,请重新输入");
}
}
}
public static String getString(Scanner sc, String[] dim) {
while (true) {
String line = sc.nextLine();
boolean isOk = false;
for (int i = 0; i < dim.length; i++) {
if (line.equals(dim[i])) {
isOk = true;
break;
}
}
if (isOk)
return line;
else {
System.out.println("未按要求输入,请重新输入");
}
}
}
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
String isCon=null;
while(true){
System.out.print("请输入班级号:");
//班级号
String gradeNum=sc.nextLine();
System.out.print("请输入该班级学员总数:");
//学生总人数
int stuNum=toInt(sc);
//定义数组存放学生成绩
float[] stuScore=new float[stuNum];
//初始化平均成绩为0
float avgScore=0;
//初始化总成绩为0
float scoreSum=0;
for(int i=0;i<stuScore.length;i++){
System.out.print("输入学员"+(i+1)+"的成绩:");
stuScore[i]=toInt(sc);
scoreSum+=stuScore[i];
avgScore=scoreSum/stuScore.length;
}
System.out.println("该班级学员的平均成绩为:"+avgScore);
System.out.println("是否输入另一个班级的成绩(y/n)?");
isCon = getString(sc, new String[] { "y", "n" });
if(isCon.equals("n"))
break;
}
}
}

caozhy
caozhy   Ds   Rxr 2016.09.24 22:42
oSanYeCao1234567
oSanYeCao1234567   Ds   Rxr 2016.09.24 23:35

楼上正解,顺便说下,楼主可以先动手试着写下,发现问题再来问,这样的学习方法更有利

vop444
vop444   2016.09.25 08:00

import java.util.Scanner;

public class Average {

/**

  • @param args / public static void main(String[] args) { // TODO Auto-generated method stub int sco=0,sum=0,n; double ave=0.0; Scanner input=new Scanner(System.in); System.out.println("请输入学生人数:"); n=input.nextInt(); for(int i=1;i<=n;i++) { System.out.println("请输入第"+i+"个学生分数:"); sco=input.nextInt(); sum+=sco;
    } System.out.println("输入完成!"); ave=(double)sum/n; System.out.println("
    ************************************"); System.out.println("***该班级学生总平均分数为:"+ave+"分。***"); System.out.println("*************************************"); }

}

sj18182656342
sj18182656342   2016.09.25 10:53

最基本的if do while 或者 while do的的练习 多做些逻辑测试就可以了

Csdn user default icon
上传中...
上传图片
插入图片