JAVA語言有許多實際的應用場景,比如在學校里,我們可以使用JAVA編寫一個學生和老師交互的系統。下面就讓我們來看一下這個實例的設計。
public class Student{ private String name; private String id; private Listcourses; private Map grades; public Student(String name, String id){ this.name = name; this.id = id; this.courses = new ArrayList (); this.grades = new HashMap (); } public String getName(){ return this.name; } public String getId(){ return this.id; } public void addCourse(String course){ if(!this.courses.contains(course)){ this.courses.add(course); } } public void addGrades(String course, double grade){ if(this.courses.contains(course)){ this.grades.put(course, grade); } } public double getAverageGrade(){ double sum = 0.0; for(String course: this.courses){ sum += this.grades.get(course); } return sum / this.courses.size(); } }
以上是學生類的實現,其中包括學生的姓名、學號、所選課程和成績。接下來是老師的實現部分。
public class Teacher{ private String name; private String id; private Listcourses; public Teacher(String name, String id){ this.name = name; this.id = id; this.courses = new ArrayList (); } public String getName(){ return this.name; } public String getId(){ return this.id; } public void addCourse(String course){ if(!this.courses.contains(course)){ this.courses.add(course); } } public void addGrade(Student student, String course, double grade){ if(this.courses.contains(course)){ student.addGrades(course, grade); } } public double getCourseAverageGrade(List students, String course){ double sum = 0.0; int count = 0; for(Student student: students){ if(student.getGrades().containsKey(course)){ sum += student.getGrades().get(course); count++; } } return sum / count; } }
老師類包括老師的姓名、工號以及所教課程。老師可以將學生成績添加到課程中,并可以計算指定課程的平均成績。
通過學生類和老師類的實現,我們可以編寫相應的主函數,來模擬學生和老師的交互過程。由此可見,JAVA語言的應用十分廣泛,可以應用于不同領域。