重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
public class ScoreDemo {
创新互联从2013年创立,先为景洪等服务建站,景洪等地企业,进行企业商务咨询服务。为景洪企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
public static void main(String[] args) {
int m = 2;//班级个数
int n = 3;//每个班级的人数
int[][] ary = new int[m][n];
inputScore(ary);//输入每个人的分数,保存到数组
printAvg(ary);//打印平均分
}
private static void printAvg(int[][] ary) {
int index = 0;//计算人数
int total = 0;//累加总分
for (int i = 0; i ary.length; i++) {
int classTotal = 0;//班级总分
for (int j = 0; j ary[i].length; j++) {
index++;
int score=ary[i][j];
classTotal+=score;
}
total+=classTotal;
System.out.println("---------"+(i+1)+"班考试情况---------");
System.out.println("班级总分"+classTotal+"\t班级人数"+ary[i].length);
System.out.println((i+1)+"班级平均分"+classTotal*1.0/ary[i].length);
}
System.out.println("---------年级考试情况-------");
System.out.println("年级总分"+total+"\t年级人数"+index);
System.out.println("年级平均分:"+total*1.0/index);
}
private static void inputScore(int[][] ary) {
Scanner input = new Scanner(System.in);
for (int i = 0; i ary.length; i++) {
System.out.println("-------"+"班级" + (i + 1)+"-------");
for (int j = 0; j ary[i].length; j++) {
System.out.print("第" + (j + 1) + "号的成绩:");
int score = input.nextInt();
ary[i][j] = score;
}
}
}
}
运行测试
-------班级1-------
第1号的成绩:80
第2号的成绩:90
第3号的成绩:100
-------班级2-------
第1号的成绩:100
第2号的成绩:100
第3号的成绩:90
---------1班考试情况---------
班级总分270 班级人数3
1班级平均分90.0
---------2班考试情况---------
班级总分290 班级人数3
2班级平均分96.66666666666667
---------年级考试情况-------
年级总分560 年级人数6
年级平均分:93.33333333333333
1、题目描述:
/*java编程:输入某个班学生的成绩,输入-1时,表示输入结束。计算该班的学生人数、最高分、最低分和平均分*/
分析:
根据题目可知,①需要连续输入数据,并将连续输入的数据保存,②记录输入的数据个数③需要有输入数据内容判断,如果输入-1则停止输入,执行计算。
2、代码如下
public static void main(String[] args) {
ArrayListFloat gList=new ArrayList();//定义浮点型动态数组,用作记录成绩,也可以取数组长度作为人数
Scanner input =new Scanner(System.in);
float grade=0;
for ( ;grade!=-1; ) {//当输入-1时结束
System.out.println("请输入学生成绩(-1结束输入):");
grade=input.nextFloat();
if (grade!=-1) {//避免最后一次录入-1
gList.add(grade);
}
}
//当输入-1时停止记录数据
//求最高分
//最低分
float max=0,sum=0,aveg=0;
float min=gList.get(0);//取第一项作为最低分初始值
for (int i = 0; i gList.size(); i++) {
if (maxgList.get(i)) {
max=gList.get(i);
}
if (mingList.get(i)) {
min=gList.get(i);
}
sum+=gList.get(i);//求总分
}
//平均分
aveg=sum/gList.size();
System.out.println("共有 "+gList.size()+"人,"+"最高分:"+max
+",最低分:"+min+",平均分:"+aveg);
}
3、运行效果
1、编写一个java成绩统计程序,输入一个班的java成绩(含姓名和分数),统计出平均分,最高分、最低分,并打印成绩单。由于编程时人数不确定,所以要求使用Vector或ArrayList完成上述程序。1)学生成绩用一个类Mark表示,其成员变量包含考生姓名、成绩。输入的姓名为"end"时,程序结束。
2、主类的名称叫做GradeStatistic,将Mark设计为GradeStatistic的内部类。提示:键盘输入采用Scanner类,实例化Scanner采用下述语句:Scanner sc=new Scanner(System.in);然后通过sc调
下面是一个存储班级三十名学生基本信息的 Java 代码示例:
import java.util.ArrayList;
public class Student {
private String name;
private int age;
private String gender;
public Student(String name, int age, String gender) {
this.name = name;
this.age = age;
this.gender = gender;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public String getGender() {
return gender;
}
}
public class Classroom {
private ArrayListStudent students;
public Classroom() {
this.students = new ArrayListStudent();
}
public void addStudent(Student student) {
students.add(student);
}
public ArrayListStudent getStudents() {
return students;
}
}
public class Main {
public static void main(String[] args) {
Classroom classroom = new Classroom();
// 添加 30 名学生的基本信息
classroom.addStudent(new Student("Tom", 18, "Male"));
classroom.addStudent(new Student("Alice", 19, "Female"));
// ...
// 此处省略 28 名学生的信息
// 获取所有学生的信息
ArrayListStudent students = classroom.getStudents();
for (Student student : students) {
System.out.println("Name: " + student.getName());
System.out.println("Age: " + student.getAge());
System.out.println("Gender: " + student.getGender());
}
}
}
该代码定义了两个类:Student 类表示一个学生,包含了学生的姓名、年龄和性别等信息;Classroom 类表示一个班级,包含了一个学生的列表,并提供了添加学生和获取学生列表的方法。
在 Main 类的 main 方法中,我们首先实例化一个 Classroom 对象,然后依次添加 30 名学生的信息。最后,我们调用 getStudents 方法获取所