CĂN BẢN
CHUỖI
VÒNG LẶP
NUMBER
INPUT / OUTPUT
CALCULATE
SẮP XẾP - TÌM KIẾM
KHÁC
NÂNG CAO
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
Dự án mới của mình là gamehow.net, mời anh em ghé thăm và góp ý ạ.

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

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.

Ở bài tập này chúng ta sẽ không thực hiện trong cùng một class như các bài tập basic mà sẽ thực hiện trên hai class khác nhau.

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

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

Viết chương trình OOP quản lý sinh viên đơn giả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).

  • 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ự các yêu cầ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
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:

sinh vien JPG

Như vậy là chúng ta đã thực hiện 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 giản, chỉ viết những phương thức basic để các bạn làm quen. Hãy thực hành nó trước khi sang các bài tập khó hơn ở phía sau. Chúc các bạn thực hiện thành công!!!

Cùng chuyên mục:

Khi nào dùng Default Methods trong Java 8

Khi nào dùng Default Methods trong Java 8

Ở 2 bài trước chúng ta đã tìm hiểu 2 tính năng mới của Java…

Cách chuyển chữ hoa thành chữ thường trong Java

Cách chuyển chữ hoa thành chữ thường trong Java

Trong bài viết này chúng ta sẽ tìm hiểu về cách chuyển đổi chữ in…

Bài tập tính tổng các số tự nhiên trong Java

Bài tập tính tổng các số tự nhiên trong Java

Các số dương 1, 2, 3, 4, ... được gọi là các số tự nhiên,…

Cách chuyển chữ thường thành chữ hoa trong Java

Cách chuyển chữ thường thành chữ hoa trong Java

Trong chuỗi có thể vừa có ký tự thường vừa có ký tự hoa, nhưng…

Cách viết hoa ký tự đầu tiên trong Java

Cách viết hoa ký tự đầu tiên trong Java

Để hiểu được bài này, các bạn cần có kiến thức căn bản về Java…

Hướng dẫn chuyển đổi giờ phút giây trong Java

Hướng dẫn chuyển đổi giờ phút giây trong Java

Để hiểu được chương trình, các bạn cần có kiến thức cơ bản về Java.…

Cách lấy thời gian hiện tại trong Java

Cách lấy thời gian hiện tại trong Java

Để hiểu được bài viết này, các bạn cần có kiến thức cơ bản sau…

Cách làm tròn số trong Java

Cách làm tròn số trong Java

Khi thực hiện tính toán, việc kết quả ra một con số thập phân dài…

Cách tìm ma trận chuyển vị trong Java

Cách tìm ma trận chuyển vị trong Java

Quá trình hoán đổi giữa hàng và cột được gọi là chuyển vị của ma…

Cách chuyển ArrayList thành mảng và ngược lại trong Java

Cách chuyển ArrayList thành mảng và ngược lại trong Java

Để hiểu được bài này, các bạn cần có kiến thức cơ bản về mảng…

Cách nối hai mảng trong Java

Cách nối hai mảng trong Java

Mình sẽ thực hiện hai chương trình nối mảng. Chương trình thứ nhất nối hai…

Cách xóa khoảng trắng của chuỗi trong Java

Cách xóa khoảng trắng của chuỗi trong Java

Mình sẽ thực hiện hai chương trình khác nhau để các bạn có thể hiểu…

In ra tam giác bằng ký tự * và số trong Java

In ra tam giác bằng ký tự * và số trong Java

Mình sẽ giới thiệu cách để in ra các tam giác bằng ký tự *…

Tìm số lớn nhất trong mảng Java

Tìm số lớn nhất trong mảng Java

Các bạn cần tìm hiểu về mảng, cách khởi tạo và in mảng trong Java…

Tìm ước của một số nguyên trong Java

Tìm ước của một số nguyên trong Java

Trong bài viết này chúng ta sẽ tìm hiểu cách tìm tất cả các ước…

Cách kiểm tra số hoàn hảo trong Java

Cách kiểm tra số hoàn hảo trong Java

Cách kiểm tra số đối xứng trong Java

Cách kiểm tra số đối xứng trong Java

Trong bài viết này chúng ta sẽ kiểm tra một số có phải là số…

Đảo ngược một số trong Java

Đảo ngược một số trong Java

Mình sẽ giới thiệu các bạn cách đảo ngược một số sử dụng vòng lặp…

Tìm bội chung nhỏ nhất trong Java

Tìm bội chung nhỏ nhất trong Java

Mình sẽ sử dụng hai cách khác nhau để tìm BCNN. Cách thứ nhất mình…

Cách hoán đổi hai số trong Java

Cách hoán đổi hai số trong Java

Trong phần này mình sẽ sử dụng một biến tạm temp() làm biến trung gian…

Top