Nhập danh sách sinh viên trong Java

Viết chương trình nhập xuất thông tin sinh viên bằng Java OOP (hướng đối tượng). Đây là một bài tập nhập xuất dữ liệu đơn giản trong Java.

Nhập danh sách sinh viên trong Java

Nhập danh sách sinh viên trong Java

Bài viết này được đăng tại

freetuts.net

Bạn đang đọc: Bài tập Java OOP: Chương trình nhập xuất thông tin sinh viên

, không được copy dưới mọi hình thức.

Ở bài tập này tất cả chúng ta sẽ không thực thi trong cùng một class như những bài tập basic mà sẽ triển khai trên hai class khác nhau .

Đề bài: Nhập xuất thông tin sinh viên

Viết chương trình OOP quản trị sinh viên đơn thuần : Nhập, xuất thông tin, tính điểm TB .
Viết lớp Sinh viên như sau :

Attributes (private): các thuộc tính phải đảm bảo tính đóng gói (private).

Bài viết này được đăng tại [ không tính tiền tuts. net ]

  • Mã sinh viên là số nguyên.
  • Họ tên: chuỗi ký tự.
  • Điểm LT, điểm TH : float

Constructor:

  • Constructor mặc định (để khởi tạo đối tượng với các thông tin kiểu số là 0, kiểu chuỗi là chuỗi rỗng).
  • Constructor thứ hai nhận đầy đủ thông tin để khởi tạo giá trị cho tất cả các biến instance.

Methods:

  • Các getter và setter cho mỗi thuộc tính.
  • Tính điểm trung bình.
  • Phương thức toString để diễn tả đối tượng ở dạng chuỗi.
  • Xây dựng class chứa hàm main: tạo 3 đối tượng sinh viên sv1, sv2, sv3, trong đó:
  • sv1 chứa thông tin của chính mình (tạo bằng constructor mặc định).
  • sv2 là thông tin người bạn thân nhất của em (tạo bằng constructor mặc định).
  • sv3 tạo bằng constructor mặc định.
  • In bảng danh sách sinh viên gồm 5 cột là MSSV, họ tên, điểm LT, điểm TH, điểm TB (bảng có 3 dòng cho 3 sinh viên).

Chương trình nhập xuất thông tin sinh viên Java OOP

Hướng dẫn:

Chúng ta sẽ đi tuần tự những nhu yếu mà đề bài đã đưa ra :

  • Đầu tiên chúng ta sẽ tạo một class tên là SinhVien để khởi tạo các phương thức
  • Trong class này, chúng ta cần khai báo các thuộc tính dưới hình thức đóng gói (private), khởi tạo các constructor có tham số và constructor mặc định, khởi tạo các phương thức getter setter.
  • Tiếp đến sẽ tạo một phương thức để tính điểm trung bình, sau đó tạo phương thức toString để hiển thị kết quả dưới dạng chuỗi.
  • Sau khi tạo các phương thức ở class SinhVien, chúng ta sẽ tạo một class Main để thực hiện gọi các phương thức vừa được gọi. Trong class này chúng ta sẽ yêu cầu nhập vào thông tin của 3 sinh viên, lưu dữ liệu được nhập vào và hiển thị nó ra màn hình dưới dạng bảng (sử dụng printf trong C).

SinhVien.java

Xem thêm: Top 20 fahasa sách mới mới nhất 2022

public class SinhVien { //khai báo các thuộc tính cần thiết private int maSV; private String tenSV; private float diemTL, diemTH; //khởi tạo constructor không tham số public SinhVien() { } //khởi tạo constructor có tham số public SinhVien(int maSV, String tenSV, Float diemTL, Float diemTH) { this.maSV = maSV; this.tenSV = tenSV; this.diemTH = diemTH; this.diemTL = diemTL; } //------------------begin getter and setter---------------------- public int getMaSV() { return maSV; } public void setMaSV(int maSV) { this.maSV = maSV; } public String getTenSV() { return tenSV; } public void setTenSV(String tenSV) { this.tenSV = tenSV; } public float getDiemTL() { return diemTL; } public void setDiemTL(float diemTL) { this.diemTL = diemTL; } public float getDiemTH() { return diemTH; } public void setDiemTH(float diemTH) { this.diemTH = diemTH; } //-----------------------end getter and setter-------------------- //tạo hàm tính điểm trung bình public float tinhDiemTB() { return (diemTH + diemTL) / 2; } //sử dụng phương thức toString để hiển thị kết quả public String toString() { return maSV + " - " + tenSV + " diem Tb : " + tinhDiemTB(); } //hoặc có thể tạo một phương thức khác dùng để hiển thị kết quả public void inSV() { System.out.printf("%6d %-18s %10.2f %12.2f %12.2f \n", maSV, tenSV, diemTH, diemTL, tinhDiemTB()); } } import java.util.Scanner; public class Main { public static void main(String[] args) { //khởi tạo và nhập giá trị cho các thuộc tính thuôc lớp SinhVien //theo đề bài yêu cầu chúng ta sẽ thực hiện việc tạo 3 sinh viên, // vì vậy chúng ta sẽ đi tạo từng sinh viên //-------------------sinh viên 1------------------- SinhVien sv1 = new SinhVien(); Scanner sc = new Scanner(System.in); System.out.println("Nhập mã sinh viên 1: "); sv1.setMaSV(sc.nextInt());sc.nextLine(); System.out.println("Nhập tên sinh viên 1: "); sv1.setTenSV(sc.nextLine()); System.out.println("Nhập điểm lý thuyết: "); sv1.setDiemTL(sc.nextFloat()); System.out.println("Nhập điểm thực hành: "); sv1.setDiemTH(sc.nextFloat()); //-------------------sinh viên 2---------------------- SinhVien sv2 = new SinhVien(); System.out.println("Nhập mã sinh viên 2: "); sv2.setMaSV(sc.nextInt());sc.nextLine(); System.out.println("Nhập tên sinh viên 2: "); sv2.setTenSV(sc.nextLine()); System.out.println("Nhập điểm lý thuyết: "); sv2.setDiemTL(sc.nextFloat()); System.out.println("Nhập điểm thực hành: "); sv2.setDiemTH(sc.nextFloat()); //---------------------sinh viên 3------------------------ SinhVien sv3 = new SinhVien(); System.out.println("Nhập mã sinh viên 3: "); sv3.setMaSV(sc.nextInt());sc.nextLine(); System.out.println("Nhập tên sinh viên 3: "); sv3.setTenSV(sc.nextLine()); System.out.println("Nhập điểm lý thuyết: "); sv3.setDiemTL(sc.nextFloat()); System.out.println("Nhập điểm thực hành: "); sv3.setDiemTH(sc.nextFloat()); //in theo format System.out.printf("%6s %10s %20s %10s %10s \n","Mã sinh viên","Họ tên","Điểm lý thuyết","Điểm thực hành","Điểm trung bình"); //gọi phương thức in đã được viết ở class SinhVien cho các sinh viên để hiển thị kết quả đã nhập sv1.inSV(); sv2.inSV(); sv3.inSV(); System.out.println("--------------------------end-----------------------------"); System.out.println("Chương trình này được đăng tại Freetuts.net"); } }

Kết quả: Sau khi chúng ta nhập thông tin cho các sinh viên và chạy chương trình thì sẽ được kết quả như sau:

Nhập danh sách sinh viên trong Java

Như vậy là tất cả chúng ta đã triển khai xong chương trình nhập xuất thông tin sinh viên. Đây cũng là một bài tập khá đơn thuần, chỉ viết những phương pháp basic để những bạn làm quen. Hãy thực hành thực tế nó trước khi sang những bài tập khó hơn ở phía sau. Chúc những bạn triển khai thành công xuất sắc ! ! !

Trong bài tập này chúng ta sẽ thực hiện chương trình quản lý sinh viên bằng ngôn ngữ Java.

Nhập danh sách sinh viên trong Java

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Đây là một bài tập khá đơn giản, chỉ nhập xuất thông tin và khởi tạo các phương thức cơ bản, nếu các bạn đã có kiến thức nền tảng về ngôn ngữ Java thì với bài tập này các bạn sẽ giải quyết rất nhanh chóng.

Đề bài: Chương trình quản lý sinh viên.

Viết chương trình xây dựng đối tượng Sinh viên gồm có các thuộc tính sau:

  • Mã sinh viên là số nguyên.
  • Họ tên: chuỗi ký tự.
  • Địa chỉ: chuỗi ký tự.
  • Số điện thoại: là số bao gồm 7 chữ số.

Các thuộc tính khai báo private, định nghĩa các phương thức get/set cho từng thuộc tính

Bài viết này được đăng tại [free tuts .net]

Viết các constructor để khởi tạo đối tượng (constructor mặc định, constructor có tham số).

Override phương thức toString của lớp Object.

Xây dựng lớp cho phép nhập vào N sinh viên (dùng mảng). Xuất danh sách trên ra màn hình theo thứ tự tăng dần của mã sinh viên.

Chương trình quản lý sinh viên.

Hướng dẫn:

Chúng ta sẽ đi lần lượt các yêu cầu của đề bài:

  • Tạo class SinhVienNhap với các thuộc tính: maSV, hoTen, diaChi, sTD.
  • Khởi tạo các constructor mặc định và constructor có tham số.
  • Khởi tạo các phương thức getter và setter.
  • Khởi tạo phương thức toString để hiển thị kết quả dưới dạng chuỗi.
  • Tạo class Main để nhập vào số lượng sinh viên và các thông tin của sinh viên.
  • Xuất thông tin của sinh viên theo thứ tự tăng dần của mã sinh viên.

SinhVienNhap.java

import java.util.Scanner; public class SinhVienNhap { private int maSV; private String hoTen; private String diaChi; private String sTD; //khởi tạo constructor mặc định public SinhVienNhap() { } //khởi tạo constructor có tham số public SinhVienNhap(int maSV, String hoten, String diaChi, String sTD) { this.maSV = maSV; this.hoTen = hoTen; this.diaChi = diaChi; this.sTD = sTD; } //--------------begin getter and setter-------------------- public int getMaSV() { return maSV; } public void setMaSV(int maSV) { this.maSV = maSV; } public String getHoten() { return hoTen; } public void setHoten(String hoten) { this.hoTen = hoten; } public String getDiaChi() { return diaChi; } public void setDiaChi(String diaChi) { this.diaChi = diaChi; } public String getsTD() { return sTD; } public void setsTD(String sTD) { this.sTD = sTD; } //--------------end getter and setter-------------------- ///khởi tạo phương thức toString @Override public String toString() { return "SinhVienNhap{" + "maSV=" + maSV + ", hoten='" + hoTen + ''' + ", diaChi='" + diaChi + ''' + ", sTD='" + sTD + ''' + '}'; } //khởi tạo phương thức hiển thị theo format public void hienThiTT() { System.out.printf("%-5d %-20s %-15s %-15s \n", maSV, hoTen, diaChi, sTD); } }

Main.java

import java.util.Arrays; import java.util.Scanner; public class Main { static Scanner sc = new Scanner(System.in); static void nhapThongTinh(SinhVienNhap tt) { System.out.println("Nhập mã số sinh viên: "); tt.setMaSV(sc.nextInt()); ; sc.nextLine(); System.out.println("Nhập họ và tên sinh viên: "); tt.setHoten(sc.nextLine()); System.out.println("Nhập địa chỉ sinh viên: "); tt.setDiaChi(sc.nextLine()); do { System.out.println("Nhập số điện thoại bao gồm 7 số: "); tt.setsTD(sc.nextLine()); } while (tt.getsTD().length() != 7); } public static void main(String[] args) { SinhVienNhap sv[] = null; int a, n = 0; boolean flag = true; do { System.out.println("Bạn chọn làm gì?"); System.out.println("1.Nhập thông tin sinh viên. \n" + "2.Xuất bản danh sách sinh viên.\n" + "Nhập số khác để thoát"); a = sc.nextInt(); switch (a) { case 1: System.out.println("Nhập số lương sinh viên cần khai báo: "); n = sc.nextInt(); sv = new SinhVienNhap[n]; for (int i = 0; i < n; i++) { System.out.println("Sinh viên thứ " + (i + 1)+": "); sv[i] = new SinhVienNhap(); nhapThongTinh(sv[i]); } break; case 2: SinhVienNhap temp = sv[0]; for (int i = 0; i < sv.length - 1; i++) { for (int j = i + 1; j < sv.length; j++) { if (sv[i].getMaSV() > sv[j].getMaSV()) { temp = sv[j]; sv[j] = sv[i]; sv[i] = temp; } } } System.out.printf("%-5s %15s %15s %20s \n", "MSSV", "Họ và tên", "Địa chỉ", "Số điện thoại"); for (int i = 0; i < n; i++) { sv[i].hienThiTT(); } break; default: System.out.println("Goodbye"); flag = false; break; } } while (flag); } }

Kết quả: Sau khi nhập đầy đủ các thông tin cho sinh viên:

Nhập danh sách sinh viên trong Java

Kết quả: Xuất thông tin sinh viên và sắp xếp theo thứ tự tăng dần:

Nhập danh sách sinh viên trong Java

Như vậy là chúng ta đã thực hiện xong chương trình quản lý sinh viên. Chúc các bạn thực hiện thành công!!!

Nhập danh sách sinh viên trong Java