import java.util.*;
public class xunlian {
public static void main(String[] args) {
Scanner sb = new Scanner(System.in);
double[] average = new double[31];
double stBest = 0;
double classAverage = 0;
Student[] student = new Student[31];
Student studentBest = null;
for (int i = 1; i <= 30; i++) {//随机产生30人的信息
student[i] = new Student(); // 实例化一个新的 Student
student[i].studentID = 1000000 + (int) (Math.random() * 100000);
int length = 5; // 生成的名字长度
String charset = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; // 字符集
student[i].studentName = generateRandomString(length, charset);//生成名字
student[i].scores = new int[4];
for (int j = 0; j < 4; j++) {
student[i].scores[j] = (int) (Math.random() * 100);
if(student[i].scores[j]>=100)
{
System.out.println("课程成绩不能高于100分!");
return;
}
average[i] += student[i].scores[j];
if(student[i].tallst<student[i].scores[j]){
student[i].tallst=student[i].scores[j];
}
}
classAverage += average[i];
average[i] = average[i] / 4.0;
if (average[i] > stBest) {
stBest = average[i];
studentBest = student[i];
}
}//随机信息
classAverage /= 30.0;//班级的平均成绩
Student[] freshPeople = new Student[1];//新人的信息
System.out.print("请输入新同学的姓名、学号和4门科目的成绩(以空格分隔):");
freshPeople[0] = new Student(); // 实例化一个新的 Student
freshPeople[0].studentName = sb.next();
freshPeople[0].studentID = sb.nextInt();
freshPeople[0].scores = new int[4];
double freshAverage = 0;
for (int i = 0; i < 4; i++) {
freshPeople[0].scores[i] = sb.nextInt();
freshAverage += freshPeople[0].scores[i];
if(freshPeople[0].tallst<freshPeople[0].scores[i]){
freshPeople[0].tallst=freshPeople[0].scores[i];
}
}
freshAverage /= 4.0;//新人的平均成绩
System.out.println(
freshPeople[0].studentName + " ID:" + freshPeople[0].studentID + " 平均分 " + freshAverage + " 最高分 "+freshPeople[0].tallst);
if(freshAverage>stBest) {
System.out.println(freshPeople[0].studentName+"现在是班上成绩最好的学生了");
}
else
System.out.println(
studentBest.studentName + " ID:" + studentBest.studentID + " 平均分 " + stBest + " 最高分 "+studentBest.tallst);
if (freshAverage > classAverage)
System.out.println(freshPeople[0].studentName + "的平均成绩高于全班的平均分");
if (freshAverage < classAverage)
System.out.println(freshPeople[0].studentName + "的平均成绩低于全班的平均分");
sb.close();
}
public static String generateRandomString(int length, String charset) {
Random rand = new Random();
StringBuilder sb = new StringBuilder(length);
for (int i = 0; i < length; i++) {
int index = rand.nextInt(charset.length());
sb.append(charset.charAt(index));
}
return sb.toString();
}
}
class Student {
int studentID;
String studentName;
public int[] scores = null;
double tallst=0;
}
Java实验新来的学生成绩和班上同学的比较
该Java程序用于创建一个学生类,输入30名学生的学号、姓名和4门课程的成绩,计算平均分和最高分。之后,程序接收新学生的信息,比较其成绩与班级最佳成绩,并输出结果。同时,程序还会判断新学生的平均成绩是否高于或低于全班平均分。
摘要由CSDN通过智能技术生成