<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      項目案例作業2:對案例進行面向對象分析

      集美大學課程實驗報告-項目案例作業2:對案例進行面向對象分析

      項目名稱 內容
      課程名稱 Java
      班級 網安2413
      指導教師 鄭如濱
      學生姓名 林沁茹
      學號 202421336067
      實驗項目名稱 項目案例作業2:對案例進行面向對象分析
      上機實踐日期
      上機實踐時間 2學時

      一、目的(本次實驗所涉及并要求掌握的知識點)

      • 解讀案例信息,了解其中的知識點

      題目1—案例中哪里體現出了封裝性及其好處(姓名:林沁茹 學號:202421336067)

      1. Student 類的封裝

      image

      2.StudentManagementSystem 類的封裝

      image

      通過private使這些屬性只能在類內部被訪問,使任何外部類無法直接訪問,提高了數據的安全性和代碼的可維護性


      題目2—案例中的setter/getter模式與封裝性(姓名:林沁茹 學號:202421336067)

      1.什么是setter/getter?

      setter 和 getter 是類中兩種特殊的方法,它們被用于訪問和修改類中 private 屬性的 public 方法

      2.有什么用?

      • getter 通常用于讀取私有屬性的值,一般有一個返回值,返回值的類型與屬性的類型相同,并且它不接收任何參數。
      • setter 通常用于設置私有屬性的值,一般沒有返回值(返回類型為 void),并且它接收一個參數,參數的類型與屬性的類型相同,這個參數就是要賦予屬性的新值

      3.怎么自動生成?

      1.在IntelliJ IDEA中按 Alt + Insert
      2.選擇目標屬性和方法
      3.創建完成


      題目3—案例中某些類的toString()方法(姓名:林沁茹 學號:202421336067)

      1.簡述toString方法有什么用?

      toString()方法的主要作用是將一個對象轉換成其自己需要的字符串表示形式(諾不重寫,返回的會是數據的地址)

      2.toString一般應包含什么內容?

      toString() 一般包含數據的返回格式和明確的對象信息

      3.toString()方法從哪里來?

      toString()方法來源于Java中的數據庫java.lang.Object( 重寫時用@Override 注解來標記)


      題目4—案例中幾個常用方法解析(姓名:林沁茹 學號:202421336067)

      1. Student類
      • Student.Student(String name, int age, String gender, String id, String major, double gpa)
        在創建一個新的 Student 對象時,對其進行初始化
      • Student.getName()
        獲取當前 Student 對象的 name 屬性的值
      • public void setName(String name)
        修改當前Student 對象的name的值
      • toString()
        根據要求返回符合要求的字符串格式
      1. StudentManagementSystem 類
      • StudentManagementSystem.StudentManagementSystem()
        構建了一個新的 ArrayList 實例,并將其賦值給私有屬性 students
      • StudentManagementSystem.addStudent(Student student)
        傳入的學生對象添加到內部的學生列表中
      • StudentManagementSystem.removeStudent(Student student)
        從內部的students列表中移除指定的學生對象
      • StudentManagementSystem.searchByName(String name)
        在內部的students列表中尋找同名學生對象
      • StudentManagementSystem.searchByMajor(String major)
        在內部的students列表中尋找同科目學生對象
      • StudentManagementSystem.getStudents()
        獲取系統中所有學生數據的列表

      5. 案例中的面向對象設計(姓名:林沁茹 學號:202421336067)

      5.1 嘗試用一段話描述案例所解決的問題。找到其中的名詞與動詞。

      • 該案例旨在構建一個簡易的學生信息管理系統,用于解決如何結構化地存儲、管理(增加和刪除)和查詢學生數據的問題。通過StudentManagementSystem 類來集中管理學生的所有數據,通過Student類來關聯一個學生的所有數據,使之成為一個整體。
      • 名詞:學生,學號,姓名,年齡,性別,科目,績點
      • 動詞:存儲,增加,刪除,查詢,獲取,修改,輸出

      5.2 如果讓你設計,根據上面的分析你會抽象出什么類?各具備什么功能?

      • 一個包含學生的全部信息,使之具有單獨獲取和修改實例中每一個信息的功能
      • 入口,直接在此實現案例中StudentManagementSystem 類中的功能,并會有一個展示功能選項的功能

      三、實驗使用環境(本次實驗所使用的平臺和相關軟件)

      以下請根據實際情況編寫

      • 操作系統:Windows 11專業版
      • 編程語言:Java
      • 開發工具:[eclipse)

      四、附件-參考文件

      • Main.java
      點擊查看代碼
      package code;
      
      import java.util.List;
      import java.util.Scanner;
      
      public class Main {
      	public static void main(String[] args) {
      
      		/**
      		 * This program is a student management system that allows users to add, remove,
      		 * and search for students by name, major, and GPA. It uses the Student and
      		 * StudentManagementSystem classes to store and manage student data.
      		 */
      		// Initialize the scanner
      		Scanner scanner = new Scanner(System.in);
      		StudentManagementSystem sms = new StudentManagementSystem();
      		boolean running = true;
      		while (running) {
      			// Prompt user for input
      			System.out.println("Enter 1 to add a student");
      			System.out.println("Enter 2 to remove a student");
      			System.out.println("Enter 3 to search for a student by name");
      			System.out.println("Enter 4 to search for a student by major");
      			System.out.println("Enter 5 to search for a student by GPA");
      			System.out.println("Enter 6 to show all students");
      			System.out.println("Enter 7 to exit");
      
      			// Get user input
      			int choice = scanner.nextInt();
      
      			// Process user input
      			switch (choice) {
      			case 1:
      				// Add a student
      				System.out.println("Enter student name:");
      				String name = scanner.next();
      				System.out.println("Enter student age:");
      				int age = scanner.nextInt();
      				System.out.println("Enter student gender:");
      				String gender = scanner.next();
      				System.out.println("Enter student ID:");
      				String id = scanner.next();
      				System.out.println("Enter student major:");
      				String major = scanner.next();
      				System.out.println("Enter student GPA:");
      				double gpa = scanner.nextDouble();
      				Student student = new Student(name, age, gender, id, major, gpa);
      				sms.addStudent(student);
      				System.out.println("Student added successfully!\n");
      				break;
      			case 2:
      				// Remove a student
      				System.out.println("Enter student ID to remove:");
      				String removeId = scanner.next();
      				List<Student> students = sms.getStudents();
      				boolean removed = false;
      				for (Student s : students) {
      					if (s.getId().equals(removeId)) {
      						sms.removeStudent(s);
      						removed = true;
      						System.out.println("Student removed successfully!\n");
      						break;
      					}
      				}
      				if (!removed) {
      					System.out.println("Student not found!");
      				}
      				break;
      			case 3:
      				// Search for a student by name
      				System.out.println("Enter student name to search:");
      				String searchName = scanner.next();
      				List<Student> searchResults = sms.searchByName(searchName);
      				if (searchResults.isEmpty()) {
      					System.out.println("No students found!");
      				} else {
      					System.out.println("Search results:");
      					for (Student s : searchResults) {
      						System.out.println(s);
      					}
      				}
      				break;
      			case 4:
      				// Search for a student by major
      				System.out.println("Enter student major to search:");
      				String searchMajor = scanner.next();
      				searchResults = sms.searchByMajor(searchMajor);
      				if (searchResults.isEmpty()) {
      					System.out.println("No students found!");
      				} else {
      					System.out.println("Search results:");
      					for (Student s : searchResults) {
      						System.out.println(s);
      					}
      				}
      				break;
      			case 5:
      				// Search for a student by GPA
      				System.out.println("Enter student GPA to search:");
      				double searchGpa = scanner.nextDouble();
      				searchResults = sms.searchByGpa(searchGpa);
      				if (searchResults.isEmpty()) {
      					System.out.println("No students found!");
      				} else {
      					System.out.println("Search results:");
      					for (Student s : searchResults) {
      						System.out.println(s);
      					}
      				}
      				break;
      			case 6:
      				// Show all Students
      				List<Student> studentList = sms.getStudents();
      				if (studentList.size() == 0) {
      					System.out.println("The System Data is empty Now!");
      				}else {
      					for (Student studentItem : studentList) {
      						System.out.println(studentItem.toString());
      					}
      				}
      				break;
      			case 7:
      				// Exit the program
      				running = false;
      				System.out.println("Exit Successfully!");
      				break;
      			default:
      				// Invalid input
      				System.out.println("Invalid choice!");
      				break;
      			}
      		}
      		// Close scanner
      		scanner.close();
      	}
      }
      
      
      • Student.java
      點擊查看代碼
      package code;
      
      public class Student {
          private String name;
          private int age;
          private String gender;
          private String id;
          private String major;
          private double gpa;
      
          public Student(String name, int age, String gender, String id, String major, double gpa) {
              this.name = name;
              this.age = age;
              this.gender = gender;
              this.id = id;
              this.major = major;
              this.gpa = gpa;
          }
      
          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 String getGender() {
              return gender;
          }
      
          public void setGender(String gender) {
              this.gender = gender;
          }
      
          public String getId() {
              return id;
          }
      
          public void setId(String id) {
              this.id = id;
          }
      
          public String getMajor() {
              return major;
          }
      
          public void setMajor(String major) {
              this.major = major;
          }
      
          public double getGpa() {
              return gpa;
          }
      
          public void setGpa(double gpa) {
              this.gpa = gpa;
          }
      
          @Override
          public String toString() {
              return "Student{" +
                      "name='" + name + '\'' +
                      ", age=" + age +
                      ", gender='" + gender + '\'' +
                      ", id='" + id + '\'' +
                      ", major='" + major + '\'' +
                      ", gpa=" + gpa +
                      '}';
          }
      }
      
      
      • StudentManagementSystem.java
      點擊查看代碼
      package code;
      
      import java.util.ArrayList;
      import java.util.List;
      
      public class StudentManagementSystem {
          private List<Student> students;
      
          public StudentManagementSystem() {
              students = new ArrayList<>();
          }
      
          public void addStudent(Student student) {
              students.add(student);
          }
      
          public void removeStudent(Student student) {
              students.remove(student);
          }
      
          public List<Student> getStudents() {
              return students;
          }
      
          public List<Student> searchByName(String name) {
              List<Student> result = new ArrayList<>();
              for (Student student : students) {
                  if (student.getName().equals(name)) {
                      result.add(student);
                  }
              }
              return result;
          }
      
          public List<Student> searchByMajor(String major) {
              List<Student> result = new ArrayList<>();
              for (Student student : students) {
                  if (student.getMajor().equals(major)) {
                      result.add(student);
                  }
              }
              return result;
          }
      
          public List<Student> searchByGpa(double gpa) {
              List<Student> result = new ArrayList<>();
              for (Student student : students) {
                  if (student.getGpa() == gpa) {
                      result.add(student);
                  }
              }
              return result;
          }
      }
      
      
      • StudentManagementSystemTest.java
      點擊查看代碼
      package code;
      import java.util.List;
      import java.util.Scanner;
      
      public class StudentManagementSystemTest {
      	public static void main(String[] args) {
      		StudentManagementSystem sms = new StudentManagementSystem();
      		Student s1 = new Student("John", 20, "Male", "001", "Computer Science", 3.5);
      		Student s2 = new Student("Mary", 21, "Female", "002", "Mathematics", 3.8);
      		Student s3 = new Student("Tom", 19, "Male", "003", "Physics", 3.2);
      		sms.addStudent(s1);
      		sms.addStudent(s2);
      		sms.addStudent(s3);
      		System.out.println("All students: " + sms.getStudents());
      		System.out.println("Search by name: " + sms.searchByName("John"));
      		System.out.println("Search by major: " + sms.searchByMajor("Mathematics"));
      		System.out.println("Search by GPA: " + sms.searchByGpa(3.5));
      		sms.removeStudent(s2);
      		System.out.println("All students after removing Mary: " + sms.getStudents());
      	}
      }
      
      
      posted @ 2025-09-24 18:19  穗和  閱讀(10)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 亚洲一区二区三区在线观看播放| 亚洲一区二区中文字幕| 国产无遮挡又黄又大又爽| 精品九九人人做人人爱| 欧美性猛交xxxx黑人猛交| 少妇xxxxx性开放| 日本亚洲一区二区精品| 精品日韩亚洲av无码| 五月天免费中文字幕av| 国产欧美综合在线观看第十页| 高潮videossex潮喷| 久久永久视频| 1区2区3区4区产品不卡码网站| 国产成人免费| 在线观看热码亚洲av每日更新| 国产午夜亚洲精品福利| 久久99精品国产99久久6男男| 亚洲日本乱码熟妇色精品| 桃花岛亚洲成在人线AV| 国产99在线 | 欧美| 中文字幕人成无码免费视频| 亚洲综合精品中文字幕| 国产精品一码在线播放| 国产色悠悠视频在线观看| 日本久久99成人网站| 久久夜色精品国产亚av| 亚洲大尺度无码无码专线| 无码熟妇人妻av在线电影| 国产亚洲精品AA片在线爽| 成人性生交大片免费看r链接 | 亚洲av第二区国产精品| 免费夜色污私人影院在线观看| 热久在线免费观看视频| 精品国产乱一区二区三区| 欧美在线观看www| 久久国内精品自在自线91| 国产精品午夜av福利| 亚洲一区二区偷拍精品| 人人色在线视频播放| 蜜臀av一区二区三区精品| 中文字幕有码日韩精品|