【Java基础】遍历打印学生信息,获取学生成绩的最高分,获取成绩最高的学员,获取学生成绩的平均值,获取不及格的学员数量

分析以下需求,并用代码实现:

  •   1.按照以下描述完成类的定义
      	学生类
      		属性:
      			姓名name
      			年龄age
      			成绩score
      		行为:
      			吃饭eat()
      			study(String content)(content:表示学习的内容)
      2.定义学生工具StudentsTool,有四个方法,描述如下
      	public void listStudents(Student[] arr):遍历打印学生信息
      	public int getMaxScore(Student[] arr):获取学生成绩的最高分
      	public Student getMaxStudent(Student[] arr):获取成绩最高的学员
      	public int getAverageScore(Student[] arr):获取学生成绩的平均值
      	public int getCount(Student[] arr):获取不及格的学员数量
    
      3.定义测试类TestStudentTool
    	在main方法中首先创建长度为5的Student数组并初始化数据
    	再创建StudentsTool类的对象,并调用以上方法
    
package com.itheima;

public class Student {
	//定义学生类属性
	private String name;
	private int age;
	private int score;

	public Student() {
		super();
		// TODO Auto-generated constructor stub
	}

	public Student(String name, int age, int score) {
		super();
		this.name = name;
		this.age = age;
		this.score = score;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	public int getScore() {
		return score;
	}

	public void setScore(int score) {
		this.score = score;
	}

	public static void eat() {}
	
	public static void study(String content) {}
}

package com.itheima;

public class StudentTool {
	// public void listStudents(Student[] arr):遍历打印学生信息
	public void listStudents(Student[] arr) {
		for (int x = 0; x < arr.length; x++) {
			Student s = arr[x];
			System.out.println(s.getName() + "---" + s.getAge() + "---" + s.getScore());
		}
	}

	// public Student getMaxStudent(Student[] arr):获取成绩最高的学员
	public Student getMaxStudent(Student[] arr) {
		Student s = arr[0];
		for (int x = 1; x < arr.length; x++) {
			if (arr[x].getScore() > s.getScore()) {
				s = arr[x];
			}
		}
		return s;
	}

	// public int getMaxScore(Student[] arr):获取学生成绩的最高分
	public int getMaxScore(Student[] arr) {
		Student s = getMaxStudent(arr);
		return s.getScore();
	}

	// public int getAverageScore(Student[] arr):获取学生成绩的平均值
	public int getAverageScore(Student[] arr) {
		// 先定义一个总值变量
		int sum = 0;
		for (int x = 0; x < arr.length; x++) {
			Student s = arr[x];
			sum += s.getScore();
		}
		return sum / arr.length;
	}

	//	public int getCount(Student[] arr):获取不及格的学员数量
	public int getCount(Student[] arr){
		int count = 0;
		for(int x = 0;x < arr.length;x++) {
			Student s = arr[x];
			if(s.getScore() < 60) {
				count++;
			}
		}
		return count;
	}

}

package com.itheima;

public class TestStudentTool {
	public static void main(String[] args) {
		//创建Student对象
		Student s1 = new Student("马化腾",19,70);
		Student s2 = new Student("求伯君",21,90);
		Student s3 = new Student("雷军",20,80);
		Student s4 = new Student("马云",19,40);
		Student s5 = new Student("刘强东",19,30);
		
		//创建长度为5的Student数组
		Student[] arr = {s1,s2,s3,s4,s5};
		
		//创建StudentTool的对象
		StudentTool st = new StudentTool();
		
		//遍历打印学生信息
		st.listStudents(arr);
		//获取学生成绩的最高分
		System.out.println("几位学生中成绩最高分为:"+st.getMaxScore(arr));
		//获取成绩最高的学生姓名
		Student s = st.getMaxStudent(arr);
		System.out.println("成绩最高的学生为:"+s.getName());
		//获取学生成绩的平均值
		System.out.println("学生的平均成绩为:"+st.getAverageScore(arr));
		//获取不及格的学员数量
		System.out.println("不及格的学生数量为:"+st.getCount(arr));
	}

}

控制台输出内容
控制台输出内容

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 好的,以下是一个简单的Java学生成绩管理系统,它可以记录学生的姓名和成绩,并根据不同的条件进行排序和显示: ``` import java.util.*; public class StudentManagementSystem { // 定义一个HashMap用于存储学生信息 private Map<String, Double> students = new HashMap<>(); // 添加学生信息 public void addStudent(String name, double score) { students.put(name, score); } // 删除学生信息 public void removeStudent(String name) { students.remove(name); } // 按姓名排序并显示学生信息 public void displayStudentsByName() { List<String> sortedNames = new ArrayList<>(students.keySet()); Collections.sort(sortedNames); for (String name : sortedNames) { System.out.println(name + " : " + students.get(name)); } } // 按成绩排序并显示学生信息 public void displayStudentsByScore() { List<Map.Entry<String, Double>> sortedEntries = new ArrayList<>(students.entrySet()); Collections.sort(sortedEntries, new Comparator<Map.Entry<String, Double>>() { public int compare(Map.Entry<String, Double> e1, Map.Entry<String, Double> e2) { return e2.getValue().compareTo(e1.getValue()); } }); for (Map.Entry<String, Double> entry : sortedEntries) { System.out.println(entry.getKey() + " : " + entry.getValue()); } } public static void main(String[] args) { // 创建一个学生成绩管理系统对象 StudentManagementSystem sms = new StudentManagementSystem(); // 添加一些学生信息 sms.addStudent("Alice", 85.5); sms.addStudent("Bob", 92.0); sms.addStudent("Charlie", 79.3); sms.addStudent("David", 88.6); sms.addStudent("Eve", 94.2); // 按姓名排序并显示学生信息 System.out.println("按姓名排序:"); sms.displayStudentsByName(); System.out.println(); // 按成绩排序并显示学生信息 System.out.println("按成绩排序:"); sms.displayStudentsByScore(); } } ``` 在这个学生成绩管理系统,我们使用了一个HashMap来存储学生信息,其学生的姓名作为键,成绩作为值。我们定义了三个方法来添加、删除和显示学生信息,其按姓名排序的方法使用了一个ArrayList来存储学生姓名,并使用Collections.sort方法来排序;按成绩排序的方法则使用了一个ArrayList来存储Map.Entry对象,并使用Collections.sort方法和一个比较器来排序。 在main方法,我们创建了一个学生成绩管理系统对象,并添加了一些学生信息。然后我们调用了按姓名排序和按成绩排序的方法来显示学生信息。 ### 回答2: 学生成绩管理系统是一个用来录入、查询和分析学生成绩的应用程序。以下是我用Java编写的基本学生成绩管理系统示例: ```java import java.util.HashMap; import java.util.Map; import java.util.Scanner; public class StudentGradeManagementSystem { private Map<String, Integer> studentGrades; public StudentGradeManagementSystem() { studentGrades = new HashMap<>(); } public void addStudentGrade(String studentName, int grade) { studentGrades.put(studentName, grade); } public int getStudentGrade(String studentName) { return studentGrades.getOrDefault(studentName, -1); } public void displayAllGrades() { for (Map.Entry<String, Integer> entry : studentGrades.entrySet()) { System.out.println("学生姓名:" + entry.getKey() + ", 成绩:" + entry.getValue()); } } public static void main(String[] args) { StudentGradeManagementSystem system = new StudentGradeManagementSystem(); Scanner scanner = new Scanner(System.in); while (true) { System.out.println("1. 添加学生成绩"); System.out.println("2. 查询学生成绩"); System.out.println("3. 显示所有学生成绩"); System.out.println("4. 退出"); System.out.println("请输入选项:"); int option = scanner.nextInt(); switch (option) { case 1: System.out.println("请输入学生姓名:"); String name = scanner.next(); System.out.println("请输入学生成绩:"); int grade = scanner.nextInt(); system.addStudentGrade(name, grade); break; case 2: System.out.println("请输入学生姓名:"); String studentName = scanner.next(); int studentGrade = system.getStudentGrade(studentName); if (studentGrade == -1) { System.out.println("找不到该学生的成绩"); } else { System.out.println("学生姓名:" + studentName + ", 成绩:" + studentGrade); } break; case 3: system.displayAllGrades(); break; case 4: scanner.close(); return; default: System.out.println("无效的选项"); } } } } ``` 这个学生成绩管理系统允许用户选择添加学生的姓名和成绩,可以通过学生姓名查询对应的成绩,并显示所有学生的成绩。程序会循环显示菜单,直到用户选择退出。 ### 回答3: 我很乐意为您展示一个用Java编写的学生成绩管理系统。 学生成绩管理系统是一个用于记录、管理和统计学生的各项成绩信息的软件。系统主要包括学生信息录入、成绩录入、成绩查询、成绩统计等功能。 首先,我们需要定义一个学生类,其包括学生的基本信息,如学号、姓名、性别、年龄等。然后,我们可以编写一个方法来实现学生信息的录入功能,通过用户输入学生信息来创建学生对象,并将其保存在内存。 接下来,我们可以编写成绩录入的功能,用户可以输入学生的学号和对应的各个科目的成绩,将成绩保存在学生对象。通过遍历学生列表,我们可以实现对多个学生的成绩录入。 为了方便用户查询成绩,我们可以实现成绩查询功能。用户可以输入学号,系统会在学生列表查找相应学生并返回其成绩信息。此外,我们还可以实现成绩统计功能,计算某个科目的平均分、最高分、最低分等。 在编写学生成绩管理系统时,我们可以采用面向对象的思想,使用类、对象、方法等概念来组织代码。通过合理的设计和封装,可以使系统结构清晰,易于扩展和维护。 以上是一个简单的学生成绩管理系统的设计思路,实际实现还需要考虑更多细节。如果您对此感兴趣,我可以为您提供更详细的代码示例。希望这个回答对您有帮助!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值