首先定義Student類封裝學(xué)生信息,再通過ScoreManager管理學(xué)生列表并實現(xiàn)按學(xué)號和姓名查詢,接著使用Scanner構(gòu)建菜單式交互界面,最后可擴展文件存儲、HashMap優(yōu)化查詢及圖形界面提升體驗。
開發(fā)一個學(xué)生成績查詢工具,核心是實現(xiàn)數(shù)據(jù)的存儲、查詢和展示。Java 提供了豐富的語法和類庫支持,適合構(gòu)建結(jié)構(gòu)清晰的小型應(yīng)用。下面介紹如何一步步實現(xiàn)一個簡單的學(xué)生成績查詢系統(tǒng)。
使用一個 Student 類來封裝學(xué)生信息,包括學(xué)號、姓名和成績。
public class Student { private String id; private String name; private double score; <pre class='brush:java;toolbar:false;'>public Student(String id, String name, double score) { this.id = id; this.name = name; this.score = score; } // Getter 方法 public String getId() { return id; } public String getName() { return name; } public double getScore() { return score; } @Override public String toString() { return "學(xué)號: " + id + ", 姓名: " + name + ", 成績: " + score; }
}
創(chuàng)建一個 ScoreManager 類,用于管理學(xué)生列表并提供查詢方法。
立即學(xué)習(xí)“Java免費學(xué)習(xí)筆記(深入)”;
import java.util.*; <p>public class ScoreManager { private List<Student> students;</p><pre class='brush:java;toolbar:false;'>public ScoreManager() { students = new ArrayList<>(); } // 添加學(xué)生 public void addStudent(Student student) { students.add(student); } // 按學(xué)號查詢 public Student findByID(String id) { for (Student s : students) { if (s.getId().equals(id)) { return s; } } return null; // 未找到 } // 按姓名查詢(可能多個同名) public List<Student> findByName(String name) { List<Student> result = new ArrayList<>(); for (Student s : students) { if (s.getName().equals(name)) { result.add(s); } } return result; } // 顯示所有學(xué)生 public void displayAll() { for (Student s : students) { System.out.println(s); } }
}
使用 Scanner 接收用戶輸入,提供菜單式操作。
import java.util.Scanner; <p>public class GradeQueryTool { public static void main(String[] args) { ScoreManager manager = new ScoreManager(); Scanner scanner = new Scanner(System.in);</p><pre class='brush:java;toolbar:false;'> // 初始化一些測試數(shù)據(jù) manager.addStudent(new Student("S001", "張三", 85.5)); manager.addStudent(new Student("S002", "李四", 92.0)); manager.addStudent(new Student("S003", "王五", 78.0)); while (true) { System.out.println("\n--- 學(xué)生成績查詢系統(tǒng) ---"); System.out.println("1. 查詢學(xué)號"); System.out.println("2. 查詢姓名"); System.out.println("3. 查看全部"); System.out.println("4. 退出"); System.out.print("請選擇操作: "); int choice = scanner.nextInt(); scanner.nextLine(); // 消費換行 switch (choice) { case 1: System.out.print("請輸入學(xué)號: "); String id = scanner.nextLine(); Student s = manager.findByID(id); if (s != null) { System.out.println("查詢結(jié)果: " + s); } else { System.out.println("未找到該學(xué)號的學(xué)生"); } break; case 2: System.out.print("請輸入姓名: "); String name = scanner.nextLine(); List<Student> list = manager.findByName(name); if (list.isEmpty()) { System.out.println("未找到該姓名的學(xué)生"); } else { System.out.println("查詢結(jié)果:"); for (Student stu : list) { System.out.println(stu); } } break; case 3: System.out.println("所有學(xué)生信息:"); manager.displayAll(); break; case 4: System.out.println("再見!"); scanner.close(); return; default: System.out.println("無效選擇,請重試"); } } }
}
這個基礎(chǔ)版本可以進一步優(yōu)化:
基本上就這些。通過封裝、集合操作和控制臺交互,就能快速搭建一個實用的成績查詢工具。不復(fù)雜但容易忽略細節(jié),比如輸入校驗和空值處理,實際開發(fā)中要特別注意。
以上就是在Java中如何開發(fā)學(xué)生成績查詢工具的詳細內(nèi)容,更多請關(guān)注php中文網(wǎng)其它相關(guān)文章!
每個人都需要一臺速度更快、更穩(wěn)定的 PC。隨著時間的推移,垃圾文件、舊注冊表數(shù)據(jù)和不必要的后臺進程會占用資源并降低性能。幸運的是,許多工具可以讓 Windows 保持平穩(wěn)運行。
微信掃碼
關(guān)注PHP中文網(wǎng)服務(wù)號
QQ掃碼
加入技術(shù)交流群
Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號