Vòng Lặp Arraylist Trong Java Với Ví Dụ Cụ Thể

--- Bài mới hơn ---

  • Cấu Trúc Rẽ Nhánh Switch
  • Lệnh Switch Case Trong C
  • Bài Tập Về Switch Case Trong C/c++
  • Bài Tập Java Lập Trình Hướng Đối Tượng Có Lời Giải Pdf
  • Bài Tập Mảng 1 Chiều Trong C/c++ Có Đáp Án
  • ArrayList là một danh sách các phần tử có cùng kiểu dữ liệu, thế nên việc duyệt vòng lặp trên một ArrayList là rất cần thiết.

    Trong bài này mình sẽ giới thiệu các cách sau:

    Vòng lặp for

    ArrayList chứa phần tử bắt đầu từ vị trí 0 và kết thúc ở vị trí size – 1, với size là số lượng phần tử của mảng. Từ đó chúng ta có thể dễ dàng áp dụng vòng lặp for trên ArrayList như sau.

    import java.util.*; public class Main { public static void main(String args) { arrays.add(1); arrays.add(2); arrays.add(3); int sum = 0; for(Integer item : arrays) { sum += item; } System.out.println("Sum: " + sum); } }

    Output: Sum: 6

    Vòng lặp while

    Vòng lặp while về cách hoạt tương tự như vòng lặp for. Mình sẽ tiến hành lấy ví dụ luôn nghen.

    import java.util.*; public class Main { public static void main(String args) { arrays.add(1); arrays.add(2); arrays.add(3); } }

    Output: 1 2 3.

    --- Bài cũ hơn ---

  • Tổng Hợp Bài Tập Lập Trình Hướng Đối Tượng Trong Java
  • Tập Bản Đồ Địa Lí 6 Bài 10: Cấu Tạo Bên Trong Của Trái Đất
  • Giải Tập Bản Đồ Địa Lí 6
  • Tập Bản Đồ Địa Lí 10 Bài 6: Hệ Quả Chuyển Động Xung Quanh Mặt Trời Của Trái Đất
  • Soạn Tbđ Địa Lí 12 Bài 6
  • Bài Tập Java Có Lời Giải

    --- Bài mới hơn ---

  • Lập Trình Mạng Với Java (Bài 6)
  • Ebook Bài Tập Java Lập Trình Hướng Đối Tượng Có Lời Giải Pdf
  • Lập Trình Java Căn Bản
  • Giải Vở Bài Tập Toán 4 Bài 37: Tìm Hai Số Khi Biết Tổng Và Hiệu Của Hai Số Đó
  • Bài 1,2,3,4 Trang 46 Sgk Đại Số Và Giải Tích 11: Quy Tắc Đếm
  • Bài tập Java có lời giải

    Bài này cung cấp cho bạn danh sách các dạng bài tập khác nhau để bạn thực hành khi học java.

    1. Bài tập java cơ bản

    Trong phần này, bạn phải nắm được các kiến thức về:

    • Các mệnh đề if-else, switch-case.
    • Các vòng lặp for, while, do-while.
    • Các từ khóa break và continue trong java.
    • Các toán tử trong java.
    • Mảng (array) trong java.
    • File I/O trong java.
    • Xử lý ngoại lệ trong java.

    Bài 01:

    Viết chương trình tìm tất cả các số chia hết cho 7 nhưng không phải bội số của 5, nằm trong đoạn 10 và 200 (tính cả 10 và 200). Các số thu được sẽ được in thành chuỗi trên một dòng, cách nhau bằng dấu phẩy.

    package vn.viettuts.baitap; import java.util.ArrayList; import java.util.List; public class Bai01 { public static void main(String args) { System.out.print("Nhập số nguyên dương n = "); int n = scanner.nextInt(); System.out.println("Giai thừa của " + n + " là: " + tinhGiaithua(n)); } /** * tinh giai thua * * @author viettuts.vn * @param n: so nguyen duong * @return giai thua cua so n */ public static long tinhGiaithua(int n) { return n * tinhGiaithua(n - 1); } else { return 1; } } }

    Kết quả:

    Nhập số nguyên dương n = 8 Giai thừa của 8 là: 40320

    Bài 03:

    Hãy viết chương trình để tạo ra một map chứa (i, i*i), trong đó i là số nguyên từ 1 đến n (bao gồm cả 1 và n), n được nhập từ bàn phím. Sau đó in map này ra màn hình. Ví dụ: Giả sử số n là 8 thì đầu ra sẽ là: {1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64}.

      Sử dụng vòng lặp for để lặp i từ 1 đến n.

    package vn.viettuts.baitap; import java.util.HashMap; import java.util.Map; import java.util.Scanner; public class Bai03 { private static Scanner scanner = new Scanner(System.in); public static void main(String args) { System.out.print("Nhập hệ số bậc 2, a = "); float a = scanner.nextFloat(); System.out.print("Nhập hệ số bậc 1, b = "); float b = scanner.nextFloat(); System.out.print("Nhập hằng số tự do, c = "); float c = scanner.nextFloat(); giaiPTBac2(a, b, c); } /** * Giải phương trình bậc 2: ax2 + bx + c = 0 * * @param a: hệ số bậc 2 * @param b: hệ số bậc 1 * @param c: số hạng tự do */ public static void giaiPTBac2(float a, float b, float c) { // kiểm tra các hệ số if (a == 0) { if (b == 0) { System.out.println("Phương trình vô nghiệm!"); } else { System.out.println("Phương trình có một nghiệm: " + "x = " + (-c / b)); } return; } // tính delta float delta = b*b - 4*a*c; float x1; float x2; // tính nghiệm x1 = (float) ((-b + Math.sqrt(delta)) / (2*a)); x2 = (float) ((-b - Math.sqrt(delta)) / (2*a)); System.out.println("Phương trình có 2 nghiệm là: " + "x1 = " + x1 + " và x2 = " + x2); } else if (delta == 0) { x1 = (-b / (2 * a)); System.out.println("Phương trình có nghiệm kép: " + "x1 = x2 = " + x1); } else { System.out.println("Phương trình vô nghiệm!"); } } }

    Kết quả:

    Nhập hệ số bậc 2, a = 2 Nhập hệ số bậc 1, b = 1 Nhập hằng số tự do, c = -1 Phương trình có 2 nghiệm là: x1 = 0.5 và x2 = -1.0

    Bài 05:

    • Tham khảo bảng ASCII để chuyển đổi kiểu char thành String. Hàm chr(55 + m) trong ví dụ sau:
    • Nếu m = 10 trả về chuỗi “A”.
    • Nếu m = 11 trả về chuỗi “B”.
    • Nếu m = 12 trả về chuỗi “C”.
    • Nếu m = 13 trả về chuỗi “D”.
    • Nếu m = 14 trả về chuỗi “E”.
    • Nếu m = 15 trả về chuỗi “F”.

    package vn.viettuts.baitap; import java.util.Scanner; public class ConvertNumber { public static final char CHAR_55 = 55; private static Scanner scanner = new Scanner(System.in); /** * main * * @author viettuts.vn * @param args */ public static void main(String args) { System.out.print("Nhập số nguyên dương n = "); int n = scanner.nextInt(); System.out.println(n + " số đầu tiên của dãy số fibonacci: "); for (int i = 0; i < n; i++) { System.out.print(fibonacci(i) + " "); } } /** * Tính số fibonacci thứ n * * @param n: chỉ số của số fibonacci tính từ 0 * vd: F0 = 0, F1 = 1, F2 = 1, F3 = 2 * @return số fibonacci thứ n */ public static int fibonacci(int n) { if (n < 0) { return -1; return n; } else { return fibonacci(n - 1) + fibonacci(n - 2); } } }

    Kết quả:

    Nhập số nguyên dương n = 12 12 số đầu tiên của dãy số fibonacci: 0 1 1 2 3 5 8 13 21 34 55 89

    Bài 07:

    Viết chương trình tìm ước số chung lớn nhất (USCLN) và bội số chung nhỏ nhất (BSCNN) của hai số nguyên dương a và b nhập từ bàn phím.

    package vn.viettuts.baitap; import java.util.Scanner; public class USCLL_BSCNN_1 { private static Scanner scanner = new Scanner(System.in); /** * main * * @param args */ public static void main(String args) { System.out.print("Nhập n = "); int n = scanner.nextInt(); System.out.printf("Tất cả các số nguyên tố nhỏ hơn %d là: n", n); System.out.print(2); } for (int i = 3; i < n; i+=2) { if (isPrimeNumber(i)) { System.out.print(" " + i); } } } /** * check so nguyen to * * @author viettuts.vn * @param n: so nguyen duong * @return true la so nguyen so, * false khong la so nguyen to */ public static boolean isPrimeNumber(int n) { // so nguyen n < 2 khong phai la so nguyen to if (n < 2) { return false; } int squareRoot = (int) Math.sqrt(n); for (int i = 2; i <= squareRoot; i++) { if (n % i == 0) { return false; } } return true; } }

    Kết quả:

    Nhập n = 100 Tất cả các số nguyên tố nhỏ hơn 100 là: 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97

    Bài 09:

    Viết chương trình liệt kê n số nguyên tố đầu tiên trong java. Số nguyên dương n được nhập từ bàn phím.

    package vn.viettuts.baitap; import java.util.Scanner; /** * Chương trình liệt kê n số nguyên tố đầu tiên. * * @author viettuts.vn */ public class BaiTap09 { private static Scanner scanner = new Scanner(System.in); /** * main * * @param args */ public static void main(String args) { int count = 0; System.out.println("Liệt kê tất cả số nguyên tố có 5 chữ số:"); for (int i = 10001; i < 99999; i+=2) { if (isPrimeNumber(i)) { System.out.println(i); count++; } } System.out.println("Tổng các số nguyên tố có 5 chữ số là: " + count); } /** * check so nguyen to * * @author viettuts.vn * @param n: so nguyen duong * @return true la so nguyen so, * false khong la so nguyen to */ public static boolean isPrimeNumber(int n) { // so nguyen n < 2 khong phai la so nguyen to if (n < 2) { return false; } int squareRoot = (int) Math.sqrt(n); for (int i = 2; i <= squareRoot; i++) { if (n % i == 0) { return false; } } return true; } }

    Kết quả:

    Liệt kê tất cả số nguyên tố có 5 chữ số: 10007 10009 10037 ... 99971 99989 99991 Tổng các số nguyên tố có 5 chữ số là: 8363

    Bài 11:

    Viết chương trình phân tích số nguyên n thành các thừa số nguyên tố trong java. Ví dụ: 100 = 2x2x5x5.

    package vn.viettuts.baitap; import java.util.ArrayList; import java.util.List; import java.util.Scanner; /** * Chương trình phân tích số nguyên n thành các thừa số nguyên tố. * Ví dụ: 12 = 2 x 2 x 3. * * @author viettuts.vn */ public class BaiTap11 { private static Scanner scanner = new Scanner(System.in); /** * main * * @param args */ public static void main(String args) { System.out.print("Nhập số nguyên dương n = "); int n = scanner.nextInt(); System.out.printf("Tổng của các chữ số " + "của %d là: %d", n, totalDigitsOfNumber(n)); } /** * Tính tổng của các chữ số của một số nguyên dương * * @param n: số nguyên dương * @return */ public static int totalDigitsOfNumber(int n) { int total = 0; do { total = total + n % DEC_10; n = n / DEC_10; return total; } }

    Kết quả:

    Nhập số nguyên dương n = 6677 Tổng của các chữ số của 6677 là: 26

    Bài 13:

    Viết chương trình kiểm tra một số n là số thuận nghịch trong java. Số nguyên dương n được nhập từ bàn phím.

    package vn.viettuts.baitap; import java.util.Scanner; /** * Chương trình liệt kê tất cả các số thuận nghịch có 6 chữa số. * * @author viettuts.vn */ public class BaiTap13 { private static Scanner scanner = new Scanner(System.in); /** * main * * @param args */ public static void main(String args) { System.out.print("Nhập số tự nhiên n = "); int n = scanner.nextInt(); System.out.printf("Các số fibonacci nhỏ hơn %d và " + "là số nguyên tố: ", n); int i = 0; while (fibonacci(i) < 100) { int fi = fibonacci(i); if (isPrimeNumber(fi)) { System.out.print(fi + " "); } i++; } } /** * Tính số fibonacci thứ n * * @param n: chỉ số của số fibonacci tính từ 0 * vd: F0 = 0, F1 = 1, F2 = 1, F3 = 2 * @return số fibonacci thứ n */ public static int fibonacci(int n) { if (n < 0) { return -1; return n; } else { return fibonacci(n - 1) + fibonacci(n - 2); } } /** * check so nguyen to * * @author viettuts.vn * @param n: so nguyen duong * @return true la so nguyen so, * false khong la so nguyen to */ public static boolean isPrimeNumber(int n) { // so nguyen n < 2 khong phai la so nguyen to if (n < 2) { return false; } int squareRoot = (int) Math.sqrt(n); for (int i = 2; i <= squareRoot; i++) { if (n % i == 0) { return false; } } return true; } }

    Kết quả:

    Nhập số tự nhiên n = 100 Các số fibonacci nhỏ hơn 100 và là số nguyên tố: 2 3 5 13 89

    Các bài tập khác:

    1. Viết chương trình nhập số nguyên dương n và thực hiện các chức năng sau:

      a) Tính tổng các chữ số của n.

      b) Phân tích n thành tích các thừa số nguyên tố.

      c) Liệt kê các ước số của n.

      d) Liệt kê các ước số là nguyên tố của n.

    2. Viết chương trình liệt kệ các số nguyên có từ 5 đến 7 chữ số thảo mãn:

      a) Là số nguyên tố.

      b) Là số thuận nghịch.

      c) Mỗi chữ số đều là số nguyên tố.

      d) Tổng các chữ số là số nguyên tố.

    3. Viết chương trình liệt kệ các số nguyên có 7 chữ số thảo mãn:

      a) Là số nguyên tố.

      b) Là số thuận nghịch.

      c) Mỗi chữ số đều là số nguyên tố.

      d) Tổng các chữ số là số thuận nghịch.

    2. Bài tập chuỗi trong Java

    Danh sách bài tập:

    1. Nhập một sâu ký tự. Đếm số từ của sâu đó (mỗi từ cách nhau bởi một khoảng trắng có thể là một hoặc nhiều dấu cách, tab, xuống dòng). Ví dụ ” hoc java co ban den nang cao ” có 7 từ.

      Lời giải: Đếm số từ trong một chuỗi.

    2. Nhập một sâu ký tự. Liệt kê số lần xuất hiện của các từ của sâu đó.

      Lời giải: Liệt kê số lần xuất hiện của các từ trong một chuỗi.

    3. Nhập 2 sâu ký tự s1 và s2. Kiểm tra xem sâu s1 có chứa s2 không?

      Lời giải: Chuỗi chứa chuỗi trong java.

    3. Bài tập mảng trong Java

    Các bài tập trong phần này thao tác với mảng một chiều và 2 chiều trong java, bạn có thể tham khảo bài học mảng (Array) trong java

    Danh sách bài tập:

    1. Nhập một mảng số thực a0, a1, a2, …, an-1. Không dùng thêm mảng số thực nào khác (có thể dùng thêm mảng số nguyên), hãy in ra màn hình mảng trên theo thứ tự tăng dần.
    2. Nhập 2 mảng số thực a0, a1, a2, …, am-1 và b0, b1, b2, …, bn-1. Giả sử 2 mảng này đã được sắp xếp tăng dần. Hãy tận dụng tính sắp xếp của 2 dãy và tạo dãy c0, c1, c2, …, cm+n-1 là hợp của 2 dãy trên sao cho ci cũng có thứ tự tăng dần.

      Lời giải: Trộn 2 mảng trong java

    3. Viết chương trình nhập vào mảng A có n phần tử, các phần tử là số nguyên lớn hơn 0 và nhỏ hơn 100. Thực hiện các chức năng sau:

      a) Tìm phần tử lớn thứ nhất và lớn thứ 2 trong mảng với các chỉ số của chúng (chỉ số đầu tiên tìm được).

      b) Sắp xếp mảng theo thứ tự tăng dần.

      c) Nhập số nguyên x và chèn x vào mảng A sao cho vẫn đảm bảo tính tăng dần cho mảng A.

    4. Viết chương trình nhập vào ma trận A có n dòng, m cột, các phần tử là số nguyên lớn hơn 0 và nhỏ hơn 100. Thực hiện các chức năng sau:

      a) Tìm phần tử lớn thứ nhất với chỉ số của nó (chỉ số đầu tiên tìm được).

      b) Tìm và in ra các phần tử là số nguyên tố của ma trận (các phần tử không nguyên tố thì thay bằng số 0).

      c) Sắp xếp tất cả các cột của ma trận theo thứ tự tăng dần và in kết quả ra màn hình.

      d) Tìm cột trong ma trận có nhiều số nguyên tố nhất.

    4. Bài tập về các thuật toán sắp xếp trong Java

    Bạn có thể xem các giải thuật sắp xếp trong phần cấu trúc dữ liệu và giải thuật: Giải thuật sắp xếp

    5. Bài tập java nâng cao

    Trong phần này, bạn phải nắm được các kiến thức về:

    • Lớp và đối tượng trong java.
    • Access modifier trong java
    • Các tính chất của lập trình hướng đối tượng (OOP).
    • Các khái niệm Java OOPs.
    • Collection trong java.
    • Xử lý ngoại lệ trong java.

    Bài tập quản lý sinh viên trong Java – console

    Đề bài: Viết chương trình quản lý sinh viên. Mỗi đối tượng sinh viên có các thuộc tính sau: id, name, age, address và gpa (điểm trung bình). Yêu cầu: tạo ra một menu với các chức năng sau:

    /****************************************/

    1. Add student.

    2. Edit student by id.

    3. Delete student by id.

    4. Sort student by gpa.

    5. Sort student by name.

    6. Show student.

    0. Exit.

    /****************************************/

    Lời giải: Bài tập quản lý sinh viên trong java – giao diện dòng lệnh

    Bài tập quản lý sinh viên trong Java – Swing

    Lời giải: Bài tập quản lý sinh viên trong java bằng Swing

    --- Bài cũ hơn ---

  • Bài Tập Java Cơ Bản, Có Lời Giải Code Mẫu
  • Đề Tài Bài Tập Về Nguyên Lý Thứ Hai Của Nhiệt Động Hoá Học
  • Bài Tập Hóa Lý Có Lời Giải Và Ngân Hàng Câu Hỏi Trắc Nghiệm 178 Trang
  • Giải Bài Tập Công Nghệ 8
  • Giải Bài Tập 6 Hóa 11 Trang 147
  • Tổng Hợp Bài Tập Java Có Lời Giải

    --- Bài mới hơn ---

  • Bài Tập Javascript Trực Tuyến: 10 Nơi Lý Tưởng Học Javascript Miễn Phí
  • Giáo Án Ngữ Văn Lớp 7 Chuẩn Nhất, Học Kì 2
  • Btob Profile 7 Thành Viên: Tiểu Sử, Giải Thưởng, Tin Tức
  • Btob Lee Chang Sub Vạ Miệng, ‘thánh Cơ Hội’ Yook Sung Jae Liền Cho Nghỉ Hưu (?) Ngay Và Luôn
  • Bài Tập Kế Toán Quản Trị (Có Lời Giải Mẫu)
  • Để dễ dàng tiếp cận và làm quen với ngôn ngữ lập trình Java. VNCoder sẽ tổng hợp các bài tập thực hành Java mẫu có lời giải chi tiết. Đây là tài liệu tham khảo hữu ích để các bạn luyện tập, thành thạo cú pháp và cấu trúc của ngôn ngữ lập trình Java.

    • Các mệnh đề if-else, switch-case.
    • Các vòng lặp for, while, do-while.
    • Các từ khóa break và continue trong java.
    • Các toán tử trong java.
    • Mảng (array) trong java.
    • File I/O trong java.
    • Xử lý ngoại lệ trong java.

    Các bài tập Java đều có hướng dẫn giải chi tiết, code tham khảo. Các bạn nên tự làm trước, nếu chưa hoàn thành thì có thể tham khảo gõ lại theo code mẫu, như vậy trình độ của các bạn sẽ lên nhanh chóng

     

    --- Bài cũ hơn ---

  • Các Cách Thải Độc Cơ Thể Đơn Giản, Hiệu Quả Nhất Cho Nam Nữ?
  • Ôn Tập Toán Hình Học Lớp 8 Hki
  • Bài Toán Hình Học Tổng Ôn Lớp 8 Học Kì 1 (Có Hướng Dẫn Chi Tiết))
  • Phương Pháp Dạy Hình Học 8 Dễ Hiểu Nhất
  • Bài 3: Từ Láy – Giải Bài Tập Ngữ Văn Lớp 7
  • Bài Tập Java Cơ Bản Có Lời Giải

    --- Bài mới hơn ---

  • Java: Solution Tham Khảo Bài Tập Phần Class
  • Bài Tập Lập Trình Hướng Đối Tượng
  • Cơ Bản Về Html, Javascript, Css Và Asp
  • Bài 5: Luyện Tập Tính Chất Hóa Học Của Oxit Và Axit
  • Sách Bài Tập Đại Số Và Giải Tích Lớp 11
  • bài 4: java giao diện, tạo notoped….

    import java.awt.*;

    import java.awt.event.*;

    public class myFrame2 extends Frame

    {

    MenuBar mb=new MenuBar();

    Menu filemenu=new Menu(“file”);

    MenuItem menuitemNew=new MenuItem(“New Ctrl+N”);

    MenuItem menuitemOpen=new MenuItem(“Open Ctrl+O”);

    MenuItem menuitemSave=new MenuItem(“Save Ctrl+S”);

    MenuItem menuitemSaveAs=new MenuItem(“Save As”);

    MenuItem menuitemPateSetup=new MenuItem(“Pate Setup”);

    MenuItem menuitemPrint=new MenuItem(“Print Ctrl+P”);

    MenuItem menuitemExit=new MenuItem(“Exit”);

    Menu editmenu=new Menu(“Edit”);

    MenuItem menuitemUndo=new MenuItem(“Undo Ctrl+Z”);

    MenuItem menuitemCut=new MenuItem(“Cut Ctrl+X”);

    MenuItem menuitemCopy=new MenuItem(“Copy Ctrl+C”);

    MenuItem menuitemPaste=new MenuItem(“Paste Ctrl+V”);

    MenuItem menuitemDelete=new MenuItem(“Delete Del”);

    MenuItem menuitemGoto=new MenuItem(“Go to Ctrl+G”);

    Menu formatmenu=new Menu(“Format”);

    MenuItem menuitemWordWrap=new MenuItem(“Word Wrap”);

    MenuItem menuitemFont=new MenuItem(“Font…”);

    Menu Viewmenu=new Menu(“View”);

    MenuItem menuitemStatusBar=new MenuItem(“Status Bar”);

    Menu Helpmenu=new Menu(“Help”);

    MenuItem menuitemViewhelp=new MenuItem(“View help”);

    MenuItem menuitemAboutNotepad=new MenuItem(“About Notepad”);

    public myFrame2(String title)

    {

    super(title);

    this.setMenuBar(mb);

    mb.add(filemenu);

    mb.add(editmenu);

    mb.add(formatmenu);

    mb.add(Viewmenu);

    mb.add(Helpmenu);

    filemenu.add(menuitemNew);

    filemenu.addSeparator();

    filemenu.add(menuitemOpen);

    filemenu.addSeparator();

    filemenu.add(menuitemSave);

    filemenu.addSeparator();

    filemenu.add(menuitemSaveAs);

    filemenu.addSeparator();

    filemenu.add(menuitemPateSetup);

    filemenu.addSeparator();

    filemenu.add(menuitemPrint);

    filemenu.addSeparator();

    filemenu.add(menuitemExit);

    editmenu.add(menuitemUndo);

    editmenu.addSeparator();

    editmenu.add(menuitemCut);

    editmenu.addSeparator();

    editmenu.add(menuitemCopy);

    editmenu.addSeparator();

    editmenu.add(menuitemPaste);

    editmenu.addSeparator();

    editmenu.add(menuitemDelete);

    editmenu.addSeparator();

    editmenu.add(menuitemGoto);

    formatmenu.add(menuitemWordWrap);

    formatmenu.addSeparator();

    formatmenu.add(menuitemFont);

    Viewmenu.add(menuitemStatusBar);

    Helpmenu.add(menuitemViewhelp);

    Helpmenu.addSeparator();

    Helpmenu.add(menuitemAboutNotepad);

    }

    public static void main(String[] args)

    {

    myFrame2 f=new myFrame2(“Unitited – Notoped”);

    f.setSize(400,400);

    f.setVisible(true);

    f.addWindowListener(new WindowAdapter()

    {

    public void windowClosing(WindowEvent we)

    {

    System.exit(0);

    }

    });

    }

    }

    --- Bài cũ hơn ---

  • Bài Tập Mảng 1 Chiều Trong C/c++ Có Đáp Án
  • Bài Tập Java Lập Trình Hướng Đối Tượng Có Lời Giải Pdf
  • Bài Tập Về Switch Case Trong C/c++
  • Lệnh Switch Case Trong C
  • Cấu Trúc Rẽ Nhánh Switch
  • Bài Tập Java Cơ Bản, Có Lời Giải Code Mẫu

    --- Bài mới hơn ---

  • Bài Tập Java Có Lời Giải
  • Lập Trình Mạng Với Java (Bài 6)
  • Ebook Bài Tập Java Lập Trình Hướng Đối Tượng Có Lời Giải Pdf
  • Lập Trình Java Căn Bản
  • Giải Vở Bài Tập Toán 4 Bài 37: Tìm Hai Số Khi Biết Tổng Và Hiệu Của Hai Số Đó
  • Để phục vụ nhu cầu học Java của các bạn, Quản Trị Mạng đã tổng hợp lại một số bài tập Java từ nhiều nguồn, có kèm theo code mẫu (cho một số bài). Hy vọng có thể giúp ích cho quá trình học tập ngôn ngữ lập trình Java của các bạn.

    Bài tập Java cơ bản có giải

    Bài 2. Viết chương trình chuyển đổi một số tự nhiên ở hệ cơ số 10 thành số ở hệ cơ số b bất kì (1< b≤ 36). Xem giải Bài 2

    Bài 8. Một số được gọi là số thuận nghịch độc nếu ta đọc từ trái sang phải hay từ phải sang trái số đó ta vẫn nhận được một số giống nhau. Hãy liệt kê tất cả các số thuận nghịch độc có sáu chữ số (Ví dụ số: 558855). Xem giải Bài 8

    Bài 9. Viết chương trình liệt kê tất cả các xâu nhị phân độ dài n. Xem giải Bài 9

    Bài 10. Viết chương trình liệt kê tất cả các tập con k phần tử của 1, 2, ..,n (k≤n). Xem giải Bài 10

    Bài 11. Viết chương trình liệt kê tất cả các hoán vị của 1, 2, .., n. Xem giải Bài 11

    Xem giải Bài 12

    Bài 13. Nhập số liệu cho 2 dãy số thực a 0, a 1 ,…, a m-1 và b 0 , b 1 ,…, b n-1. Giả sử cả 2 dãy này đã được sắp theo thứ tự tăng dần. Hãy tận dụng tính sắp xếp của 2 dãy và tạo dãy c 0 , c 1 ,…, c m+n-1 là hợp của 2 dãy trên, sao cho dãy c i cũng có thứ tự tăng dần. Xem giải Bài 13

    Bài 14. Nhập số liệu cho dãy số thực a 0, a 1,…, a n-1. Hãy liệt kê các phần tử xuất hiện trong dãy đúng một lần. Xem giải Bài 14

    Bài 15. Nhập số liệu cho dãy số thực a 0, a 1,…, a n-1. Hãy liệt kê các phần tử xuất hiện trong dãy đúng 2 lần. Xem giải Bài 15

    Bài 16. Nhập số liệu cho dãy số thực a 0, a 1,…, a n-1. In ra màn hình số lần xuất hiện của các phần tử. Xem giải Bài 16

    Bài 17. Nhập số n và dãy các số thực a 0, a 1,…, a n-1. Không đổi chỗ các phần tử và không dùng thêm mảng số thực nào khác (có thể dùng mảng số nguyên nếu cần) hãy cho hiện trên màn hình dãy trên theo thứ tự tăng dần. Xem giải Bài 17

    Bài 18. Nhập một xâu ký tự. Đếm số từ của xâu ký tự đó. Thí dụ ” Trường học ” có 2 từ. Xem giải Bài 18

    Bài 19. Viết chương trình liệt kê tất cả các số nguyên tố có 5 chữ số sao cho tổng của các chữ số trong mỗi số nguyên tố đều bằng S cho trước. Xem giải Bài 19

    Bài 20. Nhập một số tự nhiên n. Hãy liệt kê các số Fibonaci nhỏ hơn n là số nguyên tố. Xem giải Bài 20

    Bài 21. Viết chương trình nhập một số nguyên dương n và thực hiện các chức năng sau:

    1. Tính tổng các chữ số của
    2. Phân tích n thành các thừa số nguyêntố.

    Xem giải Bài 21

    Bài 22. Viết chương trình nhập một số nguyên dương n và thực hiện các chức năng sau:

    1. Liệt kê các ước số của n. Có bao nhiêu ước số.
    2. Liệt kê các ước số là nguyên tố của

    Xem giải Bài 22

    Bài 23. Viết chương trình nhập một số nguyên dương n và thực hiện các chức năng sau:

    1. Liệt kê n số nguyên tố đầu tiên.
    2. Liệt kê n số Fibonaci đầu tiên.

    Xem giải Bài 23

    Bài 24. Viết chương trình nhập vào vào ma trận A có n dòng, m cột, các phần tử là những số nguyên lớn hơn 0 và nhỏ hơn 100 được nhập vào từ bàn phím. Thực hiện các chức năng sau:

    Xem giải Bài 24

    Bài 25. Viết chương trình liệt kê các số nguyên có từ 5 đến 7 chữ số thoả mãn:

    Xem giải bài 25

    Bài 26. Viết chương trình liệt kê các số nguyên có 7 chữ số thoả mãn:

    Xem giải bài 26

    Bài 27. Viết chương trình nhập vào vào mảng A có n phần tử, các phần tử là những số nguyên lớn hơn 0 và nhỏ hơn 100 được nhập vào từ bàn phím. Thực hiện các chức năng sau:

    Xem giải bài 27

    Bài 28. Viết chương trình nhập vào vào ma trận A có n dòng, m cột, các phần tử là những số nguyên lớn hơn 0 và nhỏ hơn 100 được nhập vào từ bàn phím. Thực hiện các chức năng sau:

    Xem giải bài 28

    Bài 29. Viết chương trình nhập các hệ số của đa thức P bậc n (0<n<20). Thực hiện các chức năng sau:

    Xem giải bài 29

    Bài 30. Viết chương trình nhập vào vào mảng A có n phần tử, các phần tử là những số nguyên lớn hơn 0 và nhỏ hơn 100 được nhập vào từ bàn phím. Thực hiện các chức năng sau:

    Bài 31. Viết chương trình thực hiện chuẩn hoá một xâu ký tự nhập từ bàn phím (loại bỏ các dấu cách thừa, chuyển ký tự đầu mỗi từ thành chữ hoa, các ký tự khác thành chữ thường)

    Xem giải bài 31

    Bài 32. Viết chương trình thực hiện nhập một xâu ký tự và tìm từ dài nhất trong xâu đó. Từ đó xuất hiện ở vị trí nào? (Chú ý. nếu có nhiều từ có độ dài giống nhau thì chọn từ đầu tiên tìm thấy).

    Xem giải bài 32

    Bài 33.Viết chương trình thực hiện nhập một xâu họ tên theo cấu trúc: họ…đệm…tên; chuyển xâu đó sang biểu diễn theo cấu trúc tên…họ…đệm. Xem giải Bài 33

    Bài tập Java cơ bản không giải

    Bài 34. Viết chương trình liệt kê tất cả các phần tử của tập:

    Bài 35. Viết chương trình liệt kê tất cả các phần tử của tập

    Bài 36. Viết chương trình liệt kê tất cả các phần tử của tập

    Bài 37. Cho hai tập hợp A gồm n phần tử, B gồm m phần tử (n,m≤255), mỗi phần tử của nó là một xâu kí tự.Ví dụ A = {“Lan”, “Hằng”, “Minh”, “Thủy”}, B = {“Nghĩa”, “Trung”, “Minh”, “Thủy”, “Đức”}. Hãy viết chương trình thực hiện những thao tác sau:

    1. Tạo lập dữ liệu cho A và B (từ file hoặc từ bànphím)
    2. Tìm
    3. Tìm
    4. Tìm

    Bài 38. Cho hai đa thức

    1. Tạo lập hai đa thức (nhập hệ số cho đa thức từ bàn phím hoặc file)
    2. Tính
    3. Tìm đạo hàm cấp l ≤n của đa thức.
    4. Tìm
    5. Tìm
    6. Tìm

    Bài 39. Cho hai ma trận vuông A cấp n. Hãy viết chương trình thực hiện các thao tác sau:

    1. Tìm hàng, cột hoặc đường chéo có tổng các phần tử lớn nhất.
    2. Tìm ma trận chuyển vị của A
    3. Tìm định thức của A
    4. Tìm ma trận nghịch đảo của A
    5. Giải hệ Phương trình tuyến tính thuần nhất n ẩn AX = B bằng phương pháp Gauss

    Bài 40. Cho một buffer kí tự gồm n dòng. Hãy viết chương trình thực hiện các thao tác sau:

    1. Tạo lập n dòng văn bản cho buffer.
    2. Đếm số từ trong Buffer.
    3. Tìm tần xuất xuất hiện từ X bất kì trong buffer.
    4. Mã hóa buffer bằng kĩ thuật Parity Bits
    5. Giải mã buffer được mã hóa bằng kĩ thuật parity.
    6. Thay thế từ X bằng từ Y

    1. Liệt kê các phần tử của tập

    Trong đó b là các số nguyên dương,

    2. Liệt kê các phần tử của tập:

    trong đó b là các số nguyên dương,

      Tính giá trị nhỏ nhất của hàm mục tiêu

    Trong đó

    4. Tính giá trị nhỏ nhất của hàm mục tiêu

    Bài 42. Ma trận nhị phân là ma trận mà các phần tử của nó hoặc bằng 0 hoặc bằng 1. Cho A = là các ma trận nhị phân cấp m × n (i =1, 2,..,m. j= 1, 2, ..,n). Ta định nghĩa các phép hợp, giao, nhân logic và phép lũy thừa cho A và B như sau:

    • Hợp của A và B, được kí hiệu là A ∨ B là ma trận nhị phân cấp m×n với phần tử ở vị trí (i, j) là aij ∨ bij.
    • Giao của A và B, được kí hiệu là A ∧ B là ma trận nhị phân cấp m×n với phần tử ở vị trí (i,j) làaij ∧ bij.
    • Tích boolean của A và B, được kí hiệu là ij = (ai1Ùb1j) Ú (ai2 ∨ b2j) ∨…∨ ( (aik ∨ bkj).
    • Nếu A là một ma trận vuông nhị phân cấp n và r là một số nguyên dương. Lũy thừa Boolean bậc r của A được kí hiệu là

    Hãy viết chương trình thực hiện các thao tác sau:

    1. Cho A = . Tìm C =A ∨ B
    2. Cho A = . Tìm C =A ∧ B
    3. Cho A = . Tìm C =
    4. Cho A = args) {

      int n,count=0;

      for(n=100000 ; n<= 999999 ; n++){

      if(testSoThuanNghich(n)){

      System.out.println(n);count++;

      }

      }

      System.out.println("Co "+count+" so thuan nghich co 6 chu so");

      }

      }

      Bài 09:

      Bài 10:

      Bài 11:

      Bài 12:

      Bài 13:

      Bài 14:

      Bài 15:

      Bài 16:

      Bài 17:

      Bài 18:

      package bai18;

      import java.util.*;

      public class Main {

      public static void main(String args) {

      // TODO Auto-generated method stub

      Scanner input= new Scanner(System.in);

      System.out.println("Nhap vao 1 xau: ");

      String strInput= input.nextLine();

      System.out.println("Xau duoc chuan hoa la: "+chuanHoa(strInput));

      }

      }

      Bài 32:

      import java.util.*;

      public class Bai32 {

      public static void timXauMax(String strInput){

      StringTokenizer strToken= new StringTokenizer(strInput," ,t,r");

      int Max,i=1,lengthStr;

      Max= strToken.nextToken().length();

      int viTriMax= i;

      while(strToken.hasMoreTokens()){

      lengthStr= strToken.nextToken().length();

      i++;

      if(Max < lengthStr){

      Max= lengthStr;

      viTriMax= i;

      }

      }

      System.out.println("Do dai xau lon nhat la: "+Max+" o vi tri "+viTriMax);

      }

      public static void main(String args) {

      // TODO Auto-generated method stub

      Scanner input= new Scanner(System.in);

      System.out.println("Nhap vao ho ten ( ho-ho dem -ten) : ");

      String strInput= input.nextLine();

      System.out.println("Ho va ten duoc sap xep lai (ten- ho - ho dem) :

      "+doiViTri(strInput));

      }

      }

      Nguồn: An Nguyễn (toptailieu)

      --- Bài cũ hơn ---

    5. Đề Tài Bài Tập Về Nguyên Lý Thứ Hai Của Nhiệt Động Hoá Học
    6. Bài Tập Hóa Lý Có Lời Giải Và Ngân Hàng Câu Hỏi Trắc Nghiệm 178 Trang
    7. Giải Bài Tập Công Nghệ 8
    8. Giải Bài Tập 6 Hóa 11 Trang 147
    9. Bài 1,2,3,4,5,6 Trang 6 Hóa Lớp 9: Tính Chất Hóa Học Của Oxit

    Bài Tập Tự Luận Java Cơ Bản Có Lời Giải

    --- Bài mới hơn ---

  • Bài Tập Câu Lệnh Điều Kiện Switch Case
  • Java: Bài Tập Phần Class
  • Bài Tập + Full Bài Hướng Dẫn Về Array Và Hàm Array Trong Javascript
  • Bt Trắc Nghiệm Đại Số Và Giải Tích 11
  • Bài Tập Toán Lớp 4
  • Trong phần này, bạn phải nắm được các kiến thức về:

    • Các mệnh đề if-else, switch-case.
    • Các vòng lặp for, while, do-while.
    • Các từ khóa break và continue trong java.
    • Các toán tử trong java.
    • Mảng (array) trong java.
    • File I/O trong java.
    • Xử lý ngoại lệ trong java.

    1. Bài 01

    Viết chương trình tìm tất cả các số chia hết cho 7 nhưng không phải bội số của 5, nằm trong đoạn 10 và 200 (tính cả 10 và 200). Các số thu được sẽ được in thành chuỗi trên một dòng, cách nhau bằng dấu phẩy.

    Gợi ý: Sử dụng vòng lặp for

    Code mẫu:

    package vn.eLib.baitap; import java.util.ArrayList; import java.util.List; public class Bai01 { public static void main(String args) { System.out.print("Nhập số nguyên dương n = "); int n = scanner.nextInt(); System.out.println("Giai thừa của " + n + " là: " + tinhGiaithua(n)); } /** * tinh giai thua * * @author eLib.VN * @param n: so nguyen duong * @return giai thua cua so n */ public static long tinhGiaithua(int n) { return n * tinhGiaithua(n - 1); } else { return 1; } } }

    Kết quả:

    Nhập số nguyên dương n = 8 Giai thừa của 8 là: 40320

    3. Bài 03:

    Hãy viết chương trình để tạo ra một map chứa (i, i*i), trong đó i là số nguyên từ 1 đến n (bao gồm cả 1 và n), n được nhập từ bàn phím. Sau đó in map này ra màn hình. Ví dụ: Giả sử số n là 8 thì đầu ra sẽ là: {1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64}.

    Gợi ý: Sử dụng vòng lặp for để lặp i từ 1 đến n.

    Code mẫu:

    package vn.eLib.baitap; import java.util.HashMap; import java.util.Map; import java.util.Scanner; public class Bai03 { private static Scanner scanner = new Scanner(System. in ); public static void main(String args) { System.out.print("Nhập hệ số bậc 2, a = "); float a = scanner.nextFloat(); System.out.print("Nhập hệ số bậc 1, b = "); float b = scanner.nextFloat(); System.out.print("Nhập hằng số tự do, c = "); float c = scanner.nextFloat(); giaiPTBac2(a, b, c); } /** * Giải phương trình bậc 2: ax2 + bx + c = 0 * * @param a: hệ số bậc 2 * @param b: hệ số bậc 1 * @param c: số hạng tự do */ public static void giaiPTBac2(float a, float b, float c) { // kiểm tra các hệ số if (a == 0) { if (b == 0) { System.out.println("Phương trình vô nghiệm!"); } else { System.out.println("Phương trình có một nghiệm: " + "x = " + ( - c / b)); } return; } // tính delta float delta = b * b - 4 * a * c; float x1; float x2; // tính nghiệm x1 = (float)(( - b + Math.sqrt(delta)) / (2 * a)); x2 = (float)(( - b - Math.sqrt(delta)) / (2 * a)); System.out.println("Phương trình có 2 nghiệm là: " + "x1 = " + x1 + " và x2 = " + x2); } else if (delta == 0) { x1 = ( - b / (2 * a)); System.out.println("Phương trình có nghiệm kép: " + "x1 = x2 = " + x1); } else { System.out.println("Phương trình vô nghiệm!"); } } }

    Kết quả:

    Nhập hệ số bậc 2, a = 2 Nhập hệ số bậc 1, b = 1 Nhập hằng số tự do, c = -1 Phương trình có 2 nghiệm là: x1 = 0.5 và x2 = -1.0

    5. Bài 05

    Viết chương trình chuyển đổi một số tự nhiên ở hệ số 10 thành một số ở hệ cơ số B (1 10 là A = 10, B = 11, C = 12, D = 13, E = 14, F = 15.

    Gợi ý:

    • Tham khảo bảng ASCII để chuyển đổi kiểu char thành String. Hàm chr(55 + m) trong ví dụ sau:
    • Nếu m = 10 trả về chuỗi “A”.
    • Nếu m = 11 trả về chuỗi “B”.
    • Nếu m = 12 trả về chuỗi “C”.
    • Nếu m = 13 trả về chuỗi “D”.
    • Nếu m = 14 trả về chuỗi “E”.
    • Nếu m = 15 trả về chuỗi “F”.

    Code mẫu:

    package vn.eLib.baitap; import java.util.Scanner; public class ConvertNumber { public static final char CHAR_55 = 55; private static Scanner scanner = new Scanner(System. in ); /** * main * * @author viettuts.vn * @param args */ public static void main(String args) { System.out.print("Nhập số nguyên dương n = "); int n = scanner.nextInt(); System.out.println(n + " số đầu tiên của dãy số fibonacci: "); for (int i = 0; i

    Kết quả: 

    Nhập số nguyên dương n = 12 12 số đầu tiên của dãy số fibonacci: 0 1 1 2 3 5 8 13 21 34 55 89

    7. Bài 07

    Viết chương trình tìm ước số chung lớn nhất (USCLN) và bội số chung nhỏ nhất (BSCNN) của hai số nguyên dương a và b nhập từ bàn phím.

    Gợi ý:

    • Sử dụng giải thuật Euclid.

    Code mẫu:

    package vn.eLib.baitap; import java.util.Scanner; public class USCLL_BSCNN_1 { private static Scanner scanner = new Scanner(System. in ); /** * main * * @param args */ public static void main(String args) { System.out.print("Nhập n = "); int n = scanner.nextInt(); System.out.printf("Tất cả các số nguyên tố nhỏ hơn %d là: n", n); System.out.print(2); } for (int i = 3; i = 2 int squareRoot = (int) Math.sqrt(n); for (int i = 2; i

    Kết quả:

    Nhập n = 100 Tất cả các số nguyên tố nhỏ hơn 100 là: 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97

    9. Bài 09:

    Viết chương trình liệt kê n số nguyên tố đầu tiên trong java. Số nguyên dương n được nhập từ bàn phím.

    Code mẫu:

    package vn.eLib.baitap; import java.util.Scanner; /** * Chương trình liệt kê n số nguyên tố đầu tiên. * * @author viettuts.vn */ public class BaiTap09 { private static Scanner scanner = new Scanner(System. in ); /** * main * * @param args */ public static void main(String args) { int count = 0; System.out.println("Liệt kê tất cả số nguyên tố có 5 chữ số:"); for (int i = 10001; i = 2 int squareRoot = (int) Math.sqrt(n); for (int i = 2; i

    Kết quả:

    Liệt kê tất cả số nguyên tố có 5 chữ số: 10007 10009 10037 ... 99971 99989 99991 Tổng các số nguyên tố có 5 chữ số là: 8363

    --- Bài cũ hơn ---

  • Bài Tập Ôn Luyện Lập Trình Oop & Interface
  • Hocthue.net: Tổng Hợp Sách, Giáo Trình, Bài Giảng, Bài Tập Xác Suất Thống Kê (Có Lời Giải)
  • Ôn Tập Phần Giới Hạn (Kèm Lời Giải)
  • Vở Bài Tập Ngữ Văn Lớp 9 (Tập 1)
  • Ma Trận Space Phân Tích Môi Trường Và Cạnh Tranh Của Doanh Nghiệp
  • Bài Tập Java Lập Trình Hướng Đối Tượng Có Lời Giải Pdf

    --- Bài mới hơn ---

  • Bài Tập Mảng 1 Chiều Trong C/c++ Có Đáp Án
  • Bài Tập Java Cơ Bản Có Lời Giải
  • Java: Solution Tham Khảo Bài Tập Phần Class
  • Bài Tập Lập Trình Hướng Đối Tượng
  • Cơ Bản Về Html, Javascript, Css Và Asp
  • Bài viết đã được cập nhật vào:

    Tổng hợp Bài tập JAVA lập trình hướng đối tượng có lời giải PDF, là một tài liệu Tiếng Việt do các thầy cô ở một số trường ĐH Việt Nam biên soạn. Nội dung của 2 tài liệu này chỉ tập trung về đề bài tập khi lập trình Java hướng đối tượng có kèm lời giải cho bạn tham khảo.

    Thông tin chung về tài liệu “Bài tập JAVA lập trình hướng đối tượng có lời giải PDF”

    Tên tài liệu : Bài Tập JAVA hướng đối tượng có lời giải

    Tác giả : (Kynangso.net – Tổng hợp)

    Ngôn ngữ : Tiếng Việt

    Format : . PDF

    Thể loại : Programming/Java OOP ( Lập trình Java hướng đối tượng)

    TÀI LIỆU 1:

    Bài 4. Xây dựng chương trình quản lý danh sách các giao dịch nhà đất. Thông tin bao gồm:

    + Giao dịch đất: Mã giao dịch, ngày giao dịch (ngày, tháng, năm), đơn giá, loại đất (loại A, B, C), diện tích.

    – Nếu là loại B, C thì: thành tiền = diện tích * đơn giá.

    – Nếu là loại A thì: thành tiền = diện tích * đơn giá * 1.5

    + Giao dịch nhà: Mã giao dịch, ngày giao dịch (ngày, tháng, năm), đơn giá, loại nhà (cao cấp, thường), địa chỉ, diện tích.

    – Nếu là loại nhà cao cấp thì: thành tiền = diện tích * đơn giá.

    – Nếu là loại thường thì: thành tiền = diện tích * đơn giá * 90%

    Thực hiện các yêu cầu sau:

    + Xây dựng các lớp với chức năng thừa kế.

    + Nhập xuất danh sách các giao dịch.

    + Tính tổng số lượng cho từng loại.

    + Tính trung bình thành tiền của giao dịch đất.

    + Xuất ra các giao dịch của tháng 9 năm 2013.

    Bài 5. Xây dựng chương trình quản lý danh sách hoá đơn tiền điện của khách hàng. Thông tin bao gồm các loại khách hàng :

    + Khách hàng Việt Nam: mã khách hàng, họ tên, ngày ra hoá đơn (ngày, tháng, năm), đối tượng khách hàng (sinh hoạt, kinh doanh, sản xuất): số lượng (số KW tiêu thụ), đơn giá, định mức. Thành tiền được tính như sau:

    – Nếu số lượng <= định mức thì: thành tiền = số lượng * đơn giá.

    – Ngược lại thì: thành tiền = số lượng * đơn giá * định mức + số lượng KW vượt định mức * Đơn giá * 2.5.

    + Khách hàng nước ngoài: mã khách hàng, họ tên, ngày ra hoá đơn (ngày, tháng, năm), quốc tịch, số lượng, đơn giá. Thành tiền được tính = số lượng * đơn giá.

    Thực hiện các yêu cầu sau:

    + Xây dựng các lớp với chức năng thừa kế.

    + Nhập xuất danh sách các hóa đơn khách hàng.

    + Tính tổng số lượng cho từng loại khách hàng.

    + Tính trung bình thành tiền của khách hàng người nước ngoài.

    + Xuất ra các hoá đơn trong tháng 09 năm 2013 (cùa cả 2 loại khách hàng)

    TÀI LIỆU 2:

    Đề 2: Một đơn vị sản xuất gồm có các cán bộ là công nhân, kỹ sư, nhân viên.

    + Mỗi cán bộ cần quản lý lý các thuộc tính: Họ tên, năm sinh, giới tính, địa chỉ

    + Các công nhân cần quản lý: Bậc (công nhân bậc 3/7, bậc 4/7 …)

    + Các kỹ sư cần quản lý: Ngành đào tạo + Các nhân viên phục vụ cần quản lý thông tin: công việc

    1. Xây dựng các lớp NhanVien, CongNhan, KySu kế thừa từ lớp CanBo

    2. Xây dựng các hàm để truy nhập, hiển thị thông tin và kiểm tra về các thuộc tính của các lớp.

    3. Xây dựng lớp QLCB cài đặt các phương thức thực hiện các chức năng sau: – Nhập thông tin mới cho cán bộ – Tìm kiếm theo họ tên – Hiển thị thông tin về danh sách các cán bộ – Thoát khỏi chương trình.

    Tải xuống: Google Drive – ” Bài tập JAVA lập trình hướng đối tượng có lời giải PDF “

    Password: “‘ chúng tôi “

    Các bạn có thể xem lại danh sách các bài hướng dẫn về Java Cơ Bản tại đây: Java Cơ Bản.

    Chúc các bạn có một buổi học vui vẻ!

    --- Bài cũ hơn ---

  • Bài Tập Về Switch Case Trong C/c++
  • Lệnh Switch Case Trong C
  • Cấu Trúc Rẽ Nhánh Switch
  • Vòng Lặp Arraylist Trong Java Với Ví Dụ Cụ Thể
  • Tổng Hợp Bài Tập Lập Trình Hướng Đối Tượng Trong Java
  • Ebook Bài Tập Java Lập Trình Hướng Đối Tượng Có Lời Giải Pdf

    --- Bài mới hơn ---

  • Lập Trình Java Căn Bản
  • Giải Vở Bài Tập Toán 4 Bài 37: Tìm Hai Số Khi Biết Tổng Và Hiệu Của Hai Số Đó
  • Bài 1,2,3,4 Trang 46 Sgk Đại Số Và Giải Tích 11: Quy Tắc Đếm
  • Bài Tập Quy Tắc Đếm Lớp 11 Có Lời Giải Chi Tiết
  • Hướng Dẫn Làm Bài Tập Toán Lớp 11 Trắc Nghiệm
  • Ebook tổng hợp Bài tập JAVA lập trình hướng đối tượng có lời giải PDF, là một tài liệu Tiếng Việt do các thầy cô ở một số trường ĐH Việt Nam biên soạn. Nội dung của 2 cuốn ebook này chỉ tập trung về đề bài tập khi lập trình Java hướng đối tượng có kèm lời giải cho bạn tham khảo. Vậy còn chờ gì mà không download ebook java này tại ” chúng tôi “.

    Tên tài liệu : Ebook Bài Tập JAVA hướng đối tượng có lời giải

    Tác giả : (tổng hợp)

    Số ebook : ebook1(87) & ebook2(55)

    Ngôn ngữ : Tiếng Việt

    Format : PDF

    Thể loại : Programming/Java

    Phần này mình sẽ trích vài đề bài trong hơn chục đề bài tập JAVA lập trình hướng đối tượng để các bạn xem.

    Bài 4. Xây dựng chương trình quản lý danh sách các giao dịch nhà đất. Thông tin bao gồm:

    + Giao dịch đất: Mã giao dịch, ngày giao dịch (ngày, tháng, năm), đơn giá, loại đất (loại A, B, C), diện tích.

    – Nếu là loại B, C thì: thành tiền = diện tích * đơn giá.

    – Nếu là loại A thì: thành tiền = diện tích * đơn giá * 1.5

    + Giao dịch nhà: Mã giao dịch, ngày giao dịch (ngày, tháng, năm), đơn giá, loại nhà (cao cấp, thường), địa chỉ, diện tích.

    – Nếu là loại nhà cao cấp thì: thành tiền = diện tích * đơn giá.

    – Nếu là loại thường thì: thành tiền = diện tích * đơn giá * 90%

    Thực hiện các yêu cầu sau:

    + Xây dựng các lớp với chức năng thừa kế.

    + Nhập xuất danh sách các giao dịch.

    + Tính tổng số lượng cho từng loại.

    + Tính trung bình thành tiền của giao dịch đất.

    + Xuất ra các giao dịch của tháng 9 năm 2013.

    Bài 5. Xây dựng chương trình quản lý danh sách hoá đơn tiền điện của khách hàng. Thông tin bao gồm các loại khách hàng :

    + Khách hàng Việt Nam: mã khách hàng, họ tên, ngày ra hoá đơn (ngày, tháng, năm), đối tượng khách hàng (sinh hoạt, kinh doanh, sản xuất): số lượng (số KW tiêu thụ), đơn giá, định mức. Thành tiền được tính như sau:

    – Nếu số lượng <= định mức thì: thành tiền = số lượng * đơn giá.

    – Ngược lại thì: thành tiền = số lượng * đơn giá * định mức + số lượng KW vượt định mức * Đơn giá * 2.5.

    + Khách hàng nước ngoài: mã khách hàng, họ tên, ngày ra hoá đơn (ngày, tháng, năm), quốc tịch, số lượng, đơn giá. Thành tiền được tính = số lượng * đơn giá.

    Thực hiện các yêu cầu sau:

    + Xây dựng các lớp với chức năng thừa kế.

    + Nhập xuất danh sách các hóa đơn khách hàng.

    + Tính tổng số lượng cho từng loại khách hàng.

    + Tính trung bình thành tiền của khách hàng người nước ngoài.

    + Xuất ra các hoá đơn trong tháng 09 năm 2013 (cùa cả 2 loại khách hàng)

    Đề 2: Một đơn vị sản xuất gồm có các cán bộ là công nhân, kỹ sư, nhân viên.

    + Mỗi cán bộ cần quản lý lý các thuộc tính: Họ tên, năm sinh, giới tính, địa chỉ

    + Các công nhân cần quản lý: Bậc (công nhân bậc 3/7, bậc 4/7 …)

    + Các kỹ sư cần quản lý: Ngành đào tạo + Các nhân viên phục vụ cần quản lý thông tin: công việc

    1. Xây dựng các lớp NhanVien, CongNhan, KySu kế thừa từ lớp CanBo

    2. Xây dựng các hàm để truy nhập, hiển thị thông tin và kiểm tra về các thuộc tính của các lớp.

    3. Xây dựng lớp QLCB cài đặt các phương thức thực hiện các chức năng sau: – Nhập thông tin mới cho cán bộ – Tìm kiếm theo họ tên – Hiển thị thông tin về danh sách các cán bộ – Thoát khỏi chương trình.

    Link download free ebook “Ebook Bài tập JAVA lập trình hướng đối tượng có lời giải PDF”

    Bạn đang theo dõi website “https://cuongquach.com/” nơi lưu trữ những kiến thức tổng hợp và chia sẻ cá nhân về Quản Trị Hệ Thống Dịch Vụ & Mạng, được xây dựng lại dưới nền tảng kinh nghiệm của bản thân mình, Quách Chí Cường. Hy vọng bạn sẽ thích nơi này !

    --- Bài cũ hơn ---

  • Lập Trình Mạng Với Java (Bài 6)
  • Bài Tập Java Có Lời Giải
  • Bài Tập Java Cơ Bản, Có Lời Giải Code Mẫu
  • Đề Tài Bài Tập Về Nguyên Lý Thứ Hai Của Nhiệt Động Hoá Học
  • Bài Tập Hóa Lý Có Lời Giải Và Ngân Hàng Câu Hỏi Trắc Nghiệm 178 Trang
  • Tính Kế Thừa Trong Java

    --- Bài mới hơn ---

  • Java: Bài Tập Phần Thừa Kế
  • Lập Trình Mạng Với Java
  • Giải Bài Tập Kinh Tế Vĩ Mô Chương 2
  • Bài Tập Kinh Tế Vĩ Mô Có Đáp Án Tham Khảo 2
  • Giải Bài Tập Kinh Tế Vĩ Mô Chương 3
  • Tư tưởng của kế thừa trong java là có thể tạo ra một class mới được xây dựng trên các lớp đang tồn tại. Khi kế thừa từ một lớp đang tồn tại bạn có sử dụng lại các phương thức và thuộc tính của lớp cha, đồng thời có thể khai báo thêm các phương thức và thuộc tính khác.

    Cú pháp của kế thừa trong java

    Sử dụng từ khóa extends để kế thừa.

    class Subclass-name extends Superclass-name { //methods and fields }

    Ví dụ về kế thừa trong java

    class Employee { float salary = 1000; } class Programmer extends Employee { int bonus = 150; } public class InheritanceSample1 { public static void main(String args) { Dog d = new Dog(); d.bark(); d.eat(); } }

    Output:

    Ví dụ về kế thừa nhiều cấp

    File: chúng tôi

    class Animal { void eat() { System.out.println("eating..."); } } class Dog extends Animal { void bark() { System.out.println("barking..."); } } class BabyDog extends Dog { void weep() { System.out.println("weeping..."); } } public class TestInheritance2 { public static void main(String args) { Cat c = new Cat(); c.meow(); c.eat(); // c.bark(); // compile error } }

    Kết quả:

    Câu hỏi: Tại sao đa kế thừa không được support trong java?

    Để giảm thiểu sự phức tạp và đơn giản hóa ngôn ngữ, đa kế thừa không được support trong java.

    Hãy suy xét kịch bản sau: Có 3 lớp A, B, C. Trong đó lớp C kế thừa từ các lớp A và B. Nếu các lớp A và B có phương thức giống nhau và bạn gọi nó từ đối tượng của lớp con, như vậy khó có thể xác đinh được việc gọi phương thức của lớp A hay B.

    Vì vậy lỗi khi biên dịch sẽ tốt hơn lỗi khi runtime, java sẽ print ra lỗi “compile time error” nếu bạn cố tình kế thừa 2 class.

    class A { void msg() { System.out.println("Hello"); } } class B { void msg() { System.out.println("Welcome"); } } public class C extends A,B { public static void main(String args[]) { C obj = new C(); obj.msg(); } }

    Kết quả:

    --- Bài cũ hơn ---

  • Lệnh If/else, Lệnh Switch/case Trong Java
  • 90 Câu Trắc Nghiệm Môn Kĩ Thuật Nghiệp Vụ Ngoại Thương (Đã Chỉnh Sửa)
  • Hàm Số Lượng Giác Lớp 11 Nâng Cao
  • Giải Bài 1,2,3,4 Trang 17 Sgk Giải Tích Lớp 11 (Bài Tập Hàm Số Lượng Giác)
  • Giải Bài Tập 2 Mặt Phẳng Song Song
  • Luyện Tập Về Thừa Kế Trong Java

    --- Bài mới hơn ---

  • Bài Tập Kế Toán Tài Chính
  • Bài Tập Về Mạch Điện Lớp 11 (Cơ Bản)
  • Giải Bài Tập Lý 11 – Định Luật Ôm Và Công Suất Điện
  • Minna No Nihongo Sơ Cấp 2
  • Full Giải Bài Tập Chương 4 Nguyên Lý Kế Toán
  •    4. Luyện Tập về Thừa Kế Trong Java

    4.1  Ex: The 

    Circle

     and 

    Cylinder

     Classes

    Bài tập này sẽ hướng dẫn bạn thông qua các khái niệm quan trọng trong thừa kế.

    ExerciseOOP_CircleCylinder.png

    Trong bài tập này, một lớp con được gọi 

    Cylinder

    là bắt nguồn từ siêu lớp 

    Circle

    như được hiển thị trong sơ đồ lớp (trong đó một mũi tên hướng lên từ lớp con đến siêu lớp của nó). 

    Nghiên cứu cách lớp con 

    Cylinder

    gọi các hàm tạo của lớp cha (thông qua 

    super()

    và 

    super(radius)

    ) và kế thừa các biến và phương thức từ lớp cha 

    Circle

    .

    Bạn có thể sử dụng lại 

    Circle

    lớp mà bạn đã tạo trong bài tập trước. 

    Đảm bảo rằng bạn giữ “ 

    Circle.class

    ” trong cùng thư mục.

    public class Cylinder extends Circle { private double height; public Cylinder() { super(); height = 1.0; } public Cylinder(double height) { super(); this.height = height; } public Cylinder(double radius, double height) { super(radius); this.height = height; } public double getHeight() { return height; } public double getVolume() { return getArea()*height; } }

    Viết chương trình kiểm tra (

    TestCylinder

    ) để kiểm tra lớp 

    Cylinder

     đã tạo, như sau:

    public class TestCylinder { public static void main (String args) { Point p1 = new Point(10, 20); System.out.println(p1); ...... } }

    public class Line { private Point begin; private Point end; public Line (Point begin, Point end) { this.begin = begin; ...... } public Line (int beginX, int beginY, int endX, int endY) { begin = new Point(beginX, beginY); ...... } public String toString() { ...... } public Point getBegin() { ...... } public Point getEnd() { ...... } public void setBegin(......) { ...... } public void setEnd(......) { ...... } public int getBeginX() { ...... } public int getBeginY() { ...... } public int getEndX() { ...... } public int getEndY() { ...... } public void setBeginX(......) { ...... } public void setBeginY(......) { ...... } public void setBeginXY(......) { ...... } public void setEndX(......) { ...... } public void setEndY(......) { ...... } public void setEndXY(......) { ...... } public int getLength() { ...... } public double getGradient() { ...... } }

    public class TestLine { public static void main(String[] args) { Line l1 = new Line(0, 0, 3, 4); System.out.println(l1); Point p1 = new Point(...); Point p2 = new Point(...); Line l2 = new Line(p1, p2); System.out.println(l2); ... } }

    Sơ đồ lớp cho 

    thành phần

     như sau (trong đó một mũi tên đầu kim cương rỗng chỉ vào thành phần của nó):

    ExerciseOOP_PointLineComp.png

    Thay vì 

    thành phần

     , chúng ta có thể thiết kế một 

    Line

    lớp bằng cách sử dụng 

    inheritance

    Thay vì “một dòng gồm hai điểm”, chúng ta có thể nói rằng “một dòng là một điểm được mở rộng bởi một điểm khác”, như thể hiện trong sơ đồ lớp sau:

    ExerciseOOP_PointLineInherit.png

    Chúng ta hãy thiết kế lại 

    Line

    lớp (được gọi 

    LineSub

    ) là một lớp con của lớp 

    Point

    LineSub

    kế thừa điểm bắt đầu từ siêu lớp của nó 

    Point

    và thêm điểm kết thúc. 

    Hoàn thành định nghĩa lớp. 

    Viết một lớp kiểm tra được gọi 

    TestLineSub

    để kiểm tra 

    LineSub

    .

    public class LineSub extends Point { Point end; public LineSub (int beginX, int beginY, int endX, int endY) { super(beginX, beginY); chúng tôi = new Point(endX, endY); } public LineSub (Point begin, Point end) { super(begin.getX(), begin.getY()); chúng tôi = end; } public String toString() { ... } public Point getBegin() { ... } public Point getEnd() { ... } public void setBegin(...) { ... } public void setEnd(...) { ... } public int getBeginX() { ... } public int getBeginY() { ... } public int getEndX() { ... } public int getEndY() { ... } public void setBeginX(...) { ... } public void setBeginY(...) { ... } public void setBeginXY(...) { ... } public void setEndX(...) { ... } public void setEndY(...) { ... } public void setEndXY(...) { ... } public int getLength() { ... } public double getGradient() { ... } }

    Tóm tắt: Có hai cách tiếp cận mà bạn có thể thiết kế một dòng, 

    composition 

    hoặc 

    inheritance

    “Một dòng gồm hai điểm” hoặc “Một dòng là một điểm được mở rộng bằng một điểm khác”. 

    So sánh 

    Line

    và 

    LineSub 

    thiết kế: 

    Line 

    sử dụng 

    thành phần

     và 

    LineSub 

    sử dụng 

    kế thừa

     . 

    Thiết kế nào tốt hơn?

    5.2  Ex: The 

    Circle

     and 

    Cylinder

     Classes Using Composition

    ExerciseOOP_CircleCylinderComp.png

    Hãy thử viết lại 

    Circle-Cylinder

    các bài tập trước sử dụng 

    thành phần

     (như thể hiện trong sơ đồ lớp) thay vì 

    thừa kế

     . 

    Đó là, “một hình trụ bao gồm một vòng tròn cơ sở và chiều cao”.

    public class Cylinder { private Circle base; private double height; public Cylinder() { base = new Circle(); height = 1.0; } ...... }

    Thiết kế nào (kế thừa hoặc thành phần) là tốt hơn?

    --- Bài cũ hơn ---

  • Bài Tập Hai Mặt Phẳng Song Song
  • 3 Dạng Bài Tập Cân Bằng Phản Ứng Oxi Hóa Khử Cơ Bản Nhất
  • Bài Tập Cân Bằng Phản Ứng Oxi Hóa Khử
  • Bài Tập Hóa Học Nâng Cao Môn Hóa Lớp 8
  • Chuyên Đề Vecto Trong Không Gian Quan Hệ Vuông Góc
  • Web hay
  • Guest-posts
  • Chủ đề top 10
  • Chủ đề top 20
  • Chủ đề top 30
  • Chủ đề top 40
  • Chủ đề top 50
  • Chủ đề top 60
  • Chủ đề top 70
  • Chủ đề top 80
  • Chủ đề top 90
  • Chủ đề top 100
  • Bài viết top 10
  • Bài viết top 20
  • Bài viết top 30
  • Bài viết top 40
  • Bài viết top 50
  • Bài viết top 60
  • Bài viết top 70
  • Bài viết top 80
  • Bài viết top 90
  • Bài viết top 100