Thêm sửa xóa trong DAO
package DAO;
import Config.database_connection.ConnectToSQLServer;
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
public class KhachHangDAO {
Connection conn = null;
public ArrayList<KhachHangDTO> docDanhSach() {
ArrayList<KhachHangDTO> dsKhachHang = new ArrayList<>();
try {
conn = [Link]();
Statement stmt = [Link]();
ResultSet rs = [Link]("SELECT * FROM KhachHang");
while([Link]()) {
KhachHangDTO khachHang = new KhachHangDTO();
[Link]([Link]("MaKhachHang"));
[Link]([Link]("Ho"));
[Link]([Link]("Ten"));
[Link]([Link]("GioiTinh"));
[Link]([Link]("NgaySinh"));
[Link]([Link]("SDT"));
[Link]([Link]("email"));
[Link]([Link]("cccd"));
[Link](khachHang);
[Link](conn);
} catch (SQLException e) {
[Link]((Component)null, "Không thể đọc
danh sách");
return dsKhachHang;
public boolean themKhachHang(KhachHangDTO khachHang) {
try {
String query = "Insert into KhachHang (MaKhachHang, Ho, Ten,
GioiTinh, NgaySinh, SDT, email, cccd) values (?, ?, ?, ?, ?, ?, ?, ?)";
conn = [Link]();
PreparedStatement pstmt = [Link](query);
[Link](1, [Link]());
[Link](2, [Link]());
[Link](3, [Link]());
[Link](4, [Link]());
[Link](5, [Link]());
[Link](6, [Link]());
[Link](7, [Link]());
[Link](8, [Link]());
[Link]();
[Link]();
[Link](conn);
return true;
} catch (SQLException e) {
[Link]((Component)null, "Không thể thêm
vào danh sách!");
return false;
public Boolean suaKhachHang(KhachHangDTO khachHang) {
try {
String query = "UPDATE KhachHang SET Ho = ?, Ten = ?, GioiTinh
= ?, NgaySinh = ?, SDT = ?, email = ?, cccd = ? Where MaKhachHang = ?";
conn = [Link]();
PreparedStatement pstmt = [Link](query);
[Link](1, [Link]());
[Link](2, [Link]());
[Link](3, [Link]());
[Link](4, [Link]());
[Link](5, [Link]());
[Link](6, [Link]());
[Link](7, [Link]());
[Link](8, [Link]());
[Link]();
[Link]();
[Link](conn);
return true;
} catch (SQLException e) {
[Link]((Component)null, "Không thể cập
nhật khách hàng này!");
return false;
public Boolean xoaKhachHang(String maKhachHang) {
try {
String query = "DELETE FROM KhachHang WHERE MaKhachHang
= ?";
conn = [Link]();
PreparedStatement pstmt = [Link](query);
[Link](1, maKhachHang);
[Link]();
[Link]();
[Link](conn);
return true;
} catch (SQLException e) {
[Link]((Component)null, "Không thể xóa
khách hàng này!");
return false;
}
Thêm sửa xóa trong BUS
package BUS;
import [Link];
import [Link];
import [Link];
public class KhachHangBUS {
private ArrayList<KhachHangDTO> dsKhachHang;
private final KhachHangDAO kh;
public KhachHangBUS() {
kh = new KhachHangDAO();
dsKhachHang = new ArrayList();
docdsKhachHang();
private void docdsKhachHang() {
dsKhachHang = [Link]();
public ArrayList<KhachHangDTO> getdsKhachHang() {
if ([Link]()) {
docdsKhachHang();
return dsKhachHang;
public void themKhachHang(KhachHangDTO khachHang) {
if ([Link](khachHang)) {
[Link](khachHang);
public void xoaKhachHang(String maKhachHang) {
if ([Link](maKhachHang)) {
[Link]((lmb) ->
[Link]().equals(maKhachHang));
public void suaKhachHang(KhachHangDTO khachHang) {
if ([Link](khachHang)) {
for(int i = 0; i < [Link](); ++i) {
if
(((KhachHangDTO)[Link](i)).equals([Link](
))) {
[Link](i, khachHang);
break;
}
}
public ArrayList<KhachHangDTO> timDSKhachHangTheoId(String maKH)
{
if([Link]()){
docdsKhachHang();
ArrayList<KhachHangDTO> dsKHTimThay = new ArrayList<>();
for(KhachHangDTO kh : dsKhachHang) {
if([Link]().toLowerCase().trim().contains(([Link]()
.trim()))) {
[Link](kh);
return dsKHTimThay;
public ArrayList<KhachHangDTO> timDSKhachHangTheoCccd(String id) {
if([Link]()){
docdsKhachHang();
ArrayList<KhachHangDTO> dsKHTimThay = new ArrayList<>();
for(KhachHangDTO kh : dsKhachHang) {
if([Link]().trim().contains(([Link]()))) {
[Link](kh);
}
return dsKHTimThay;
public KhachHangDTO layMotKhachHangTheoCccd(String cccd) {
for(KhachHangDTO kh : dsKhachHang) {
if([Link]().equals(cccd)){
return kh;
return null;
public KhachHangDTO timMotKH(String maKH) {
if([Link]()){
docdsKhachHang();
for (KhachHangDTO kh : dsKhachHang) {
if ([Link]().equals(maKH)) {
return kh;
return null;
}
Controler
package Control;
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
public class KhachHangController {
private ArrayList<KhachHangDTO> dsKhachHang;
private final KhachHangForm panelForm;
private final KhachHangControlForm panelControl;
private final KhachHangTableForm panelTable;
private final KhachHangBUS khachHangBUS = new KhachHangBUS();
public KhachHangController(KhachHangPanelForm panel) {
[Link] = [Link]();
[Link] = [Link]();
[Link] = [Link]();
public void layDanhSachKhachHang() {
DefaultTableModel modelDS = [Link]();
dsKhachHang = [Link]();
[Link](modelDS, dsKhachHang);
[Link]().setModel(modelDS);
private KhachHangDTO layKhachHangTheoMa(String id) {
KhachHangDTO kh = new KhachHangDTO();
KhachHangBUS bus = new KhachHangBUS();
ArrayList<KhachHangDTO> dsKH = [Link]();
for(KhachHangDTO dto : dsKH) {
if([Link]().equals(id)) {
kh = dto;
break;
return kh;
}
private void setForm(KhachHangDTO kh) {
[Link]().setText([Link]());
[Link]().setText([Link]());
[Link]().setText([Link]());
[Link]([Link]());
[Link]().setText([Link]().toString());
[Link]().setText([Link]());
[Link]().setText([Link]());
[Link]().setText([Link]());
public void conTrol() {
//set form
[Link](new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
int rowSelected = [Link]().getSelectedRow();
if(rowSelected != -1) {
[Link]().setEditable(false);
String maKH = [Link]().getValueAt(rowSelected,
0).toString();
KhachHangDTO onlyKH = [Link](maKH);
if(onlyKH != null) {
setForm(onlyKH);
}
});
//delete form
[Link](new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
[Link]().setEditable(true);
[Link]().clearSelection();
[Link]();
});
//add khach hang
[Link](new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String maKh = [Link]().getText().trim();
if([Link]()) {
[Link](null, "Vui lòng nhập mã khách
hàng!");
return;
if([Link](maKh) != null) {
[Link](null, "Mã khách hàng đã tồn
tại!");
return;
try {
Date ngaySinh =
[Link]([Link]().getText());
String gioiTinh = [Link]();
String ho = [Link]().getText().trim();
String ten = [Link]().getText().trim();
String sdt = [Link]().getText().trim();
if() {
[Link](null, "Số điện thoại bạn
nhập không đúng vui lòng nhập lại!");
return;
String email = [Link]().getText().trim();
if() {
[Link](null, "Email bạn nhập không
đúng vui lòng nhập lại!");
return;
String cccd = [Link]().getText().trim();
if() {
[Link](null, "Cccd bạn nhập không
đúng vui lòng nhập lại!");
return;
if([Link](cccd) != null) {
[Link](null, "Cccd bị trùng vui lòng
nhập lại!");
return;
}
KhachHangDTO kh = new KhachHangDTO();
[Link](maKh);
[Link](ho);
[Link](ten);
[Link](gioiTinh);
[Link](ngaySinh);
[Link](sdt);
[Link](email);
[Link](cccd);
[Link](kh);
[Link]();
layDanhSachKhachHang();
[Link](null, "Thêm khách hàng thành
công!");
} catch(Exception ex) {
[Link](null, "Lỗi nhập dữ liệu: " +
[Link]());
});
//edit
[Link](new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
int rowClick = [Link]().getSelectedRow();
if (rowClick != -1) {
String maKh = [Link]().getText().trim();
if([Link]()) {
[Link](null, "Vui lòng nhập mã
khách hàng!");
return;
if([Link](maKh) != null) {
[Link](null, "Mã khách hàng đã tồn
tại!");
return;
try {
Date ngaySinh =
[Link]([Link]().getText());
String gioiTinh = [Link]();
String ho = [Link]().getText().trim();
String ten = [Link]().getText().trim();
String sdt = [Link]().getText().trim();
if() {
[Link](null, "Số điện thoại bạn
nhập không đúng vui lòng nhập lại!");
return;
String email = [Link]().getText().trim();
if() {
[Link](null, "Email bạn nhập
không đúng vui lòng nhập lại!");
return;
String cccd = [Link]().getText().trim();
if() {
[Link](null, "Cccd bạn nhập
không đúng vui lòng nhập lại!");
return;
if([Link](cccd) !=
null) {
[Link](null, "Cccd bị trùng vui
lòng nhập lại!");
return;
KhachHangDTO kh = new KhachHangDTO();
[Link](maKh);
[Link](ho);
[Link](ten);;
[Link](gioiTinh);
[Link](ngaySinh);
[Link](sdt);
[Link](email);
[Link](cccd);
[Link](kh);
[Link]();
layDanhSachKhachHang();
[Link](null, "Thêm khách hàng
thành công!");
} catch(Exception ex) {
[Link](null, "Lỗi nhập dữ liệu: " +
[Link]());
}else {
[Link](null, "Vui lòng chọn chuyến
bay cần sửa!");
});
[Link](new KeyAdapter() {
@Override
public void keyReleased(KeyEvent evt) {
String tuKhoa =
[Link]().getText().trim().toLowerCase();
DefaultTableModel modelGoc = (DefaultTableModel)
[Link]();
int columnCount = [Link]().getColumnCount();
String[] columnNames = new String[columnCount];
for (int i = 0; i < columnCount; i++) {
columnNames[i] = [Link]().getColumnName(i);
}
if (![Link]()) {
DefaultTableModel modelLoc = new
DefaultTableModel(columnNames, 0);
for (int i = 0; i < [Link](); i++) {
boolean match = false;
for (int j = 0; j < columnCount; j++) {
Object cell = [Link](i, j);
if (cell != null &&
[Link]().toLowerCase().contains(tuKhoa)) {
match = true;
break;
if (match) {
Object[] rowData = new Object[columnCount];
for (int j = 0; j < columnCount; j++) {
rowData[j] = [Link](i, j);
[Link](rowData);
}
[Link]().setModel(modelLoc);
} else {
layDanhSachKhachHang();
});
Jtable
package [Link];
import [Link];
import [Link];
import [Link];
public class ChuyenBayTableForm extends [Link] {
private DefaultTableModel model;
public ChuyenBayTableForm() {
initComponents();
String[] columnNames = {
"Mã CB",
"Ngày XP",
"Ngày Đến",
"Giá Thường",
"Giá VIP",
"Trạng Thái",
"Mã Máy Bay",
"Mã Hành Trình"
};
model = new DefaultTableModel(columnNames, 0);
[Link](model);
public MyTable getMyTable() {
return myTable;
public DefaultTableModel getModel() {
return model;
public void addRowClick(MouseAdapter listener) {
[Link](listener);
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jScrollPane1 = new [Link]();
myTable = new [Link]();
[Link](new [Link](
new Object [][] {
{},
{},
{},
{}
},
new String [] {
));
[Link](myTable);
[Link] layout = new [Link](this);
[Link](layout);
[Link](
[Link]([Link])
.addComponent(jScrollPane1,
[Link].DEFAULT_SIZE, 1046, Short.MAX_VALUE)
);
[Link](
[Link]([Link])
.addComponent(jScrollPane1,
[Link].DEFAULT_SIZE, 541, Short.MAX_VALUE)
);
}// </editor-fold>
// Variables declaration - do not modify
private [Link] jScrollPane1;
private [Link] myTable;
// End of variables declaration
public class HienThiTable {
public static void taiDuLieuTableChuyenBay (DefaultTableModel model,
ArrayList<ChuyenBayDTO> dsChuyenBay) {
[Link](0);
for(ChuyenBayDTO cb : dsChuyenBay) {
Vector row = new Vector();
[Link]([Link]());
[Link]([Link]());
[Link]([Link]());
[Link]([Link]());
[Link]([Link]());
[Link]([Link]());
[Link]([Link]());
[Link]([Link]());
[Link](row);
Import excel trong BUS
public void importFromExcel(File file) {
try (FileInputStream fis = new FileInputStream(file);
Workbook workbook = [Link](fis)) {
Sheet sheet = [Link](0);
boolean firstRow = true;
for (Row row : sheet) {
if (firstRow) {
firstRow = false;
continue;
String id = [Link](0).toString();
if(checkID(id)) {
continue;
SanBayDTO sb = new SanBayDTO();
[Link](id);
[Link]([Link](1).toString());
[Link]([Link](2).toString());
[Link](sb);
[Link](sb);
[Link](null, "Import thành công từ Excel!");
} catch (Exception e) {
[Link]();
[Link](null, "Lỗi khi import file Excel");
Export excel trong GUI
public void exportToExcel() {
JFileChooser fileChooser = new JFileChooser();
[Link]("Chọn đường dẫn lưu file Excel");
FileNameExtensionFilter filter = new FileNameExtensionFilter("XLSX
files", "xlsx");
[Link](filter);
[Link](false);
int userChoice = [Link](null);
if (userChoice == JFileChooser.APPROVE_OPTION) {
String filePath = [Link]().getAbsolutePath();
if (![Link]().endsWith(".xlsx")) {
filePath += ".xlsx";
DefaultTableModel model = (DefaultTableModel)
[Link]();
Workbook workbook = new XSSFWorkbook();
XSSFSheet sheet = (XSSFSheet) [Link]("Sân bay");
//tao header row
XSSFRow headerRow = [Link](0);
for (int i = 0; i < [Link](); i++) {
[Link](i).setCellValue([Link](i));
//tao data row
for (int i = 0; i < [Link](); i++) {
XSSFRow dataRow = [Link](i + 1);
for (int j = 0; j < [Link](); j++) {
TableModel tableModel = [Link]();
[Link](j).setCellValue([Link](i,
j).toString());
//chinh size cot
for(int i = 0; i < [Link](); i++){
[Link](i);
//viet file
[Link](null, "Xuất file thành công");
try {
FileOutputStream fileOut = new FileOutputStream(filePath);
[Link](fileOut);
[Link]();
[Link]();
} catch (FileNotFoundException e) {
[Link]();
} catch (IOException e) {
[Link]();
}
1. Load dữ liệu vào JComboBox
🔹 Ví dụ: Bảng PhongBan(id, ten) → Load vào comboBox
java
Sao chépChỉnh sửa
JComboBox<String> comboBoxPhongBan = new JComboBox<>();
Connection conn = [Link](url, user, pass);
String sql = "SELECT ten FROM PhongBan";
PreparedStatement stmt = [Link](sql);
ResultSet rs = [Link]();
while ([Link]()) {
[Link]([Link]("ten"));
[Link]();
[Link]();
[Link]();
✅ 2. Load dữ liệu vào JTable
🔹 Ví dụ: Bảng NhanVien(id, ten, tuoi, idPhongBan)
java
Sao chépChỉnh sửa
DefaultTableModel model = new DefaultTableModel();
[Link]("ID");
[Link]("Tên");
[Link]("Tuổi");
Connection conn = [Link](url, user, pass);
String sql = "SELECT id, ten, tuoi FROM NhanVien";
PreparedStatement stmt = [Link](sql);
ResultSet rs = [Link]();
while ([Link]()) {
[Link](new Object[]{
[Link]("id"),
[Link]("ten"),
[Link]("tuoi")
});
[Link](model);
[Link]();
[Link]();
[Link]();
✅ 3. Mẹo bổ sung
Nếu JComboBox cần cả id và ten, nên tạo một class PhongBan và
override toString() để hiển thị tên.
java
Sao chépChỉnh sửa
public class PhongBan {
int id;
String ten;
public PhongBan(int id, String ten) {
[Link] = id;
[Link] = ten;
@Override
public String toString() {
return ten;
public int getId() {
return id;
java
Sao chépChỉnh sửa
[Link](new PhongBan([Link]("id"),
[Link]("ten")));
Lúc cần lấy ID:
java
Sao chépChỉnh sửa
PhongBan pb = (PhongBan) [Link]();
int id = [Link]();
Chuỗi GUI
import [Link].*;
import [Link].*;
import [Link];
public class Chuoi {
public static void main(String[] args) {
JFrame frame = new JFrame("Chuỗi");
[Link](500, 600);
[Link](JFrame.EXIT_ON_CLOSE);
[Link](new BorderLayout(10, 10));
JPanel mainPanel = new JPanel(new GridBagLayout());
[Link]([Link](20, 20, 20, 20));
[Link](new Color(230, 240, 255));
[Link](mainPanel, [Link]);
GridBagConstraints gbc = new GridBagConstraints();
[Link] = new Insets(5, 5, 5, 5);
[Link] = [Link];
[Link] = 0;
[Link] = 0;
JLabel title = new JLabel("Chuỗi", [Link]);
[Link](new Font("Arial", [Link], 22));
[Link]([Link]);
[Link] = 2;
[Link](title, gbc);
[Link]++;
[Link] = 1;
JLabel labelN = new JLabel("Nhập chuỗi: ");
[Link](new Font("Arial", [Link], 14));
[Link](Color.DARK_GRAY);
[Link](labelN, gbc);
[Link] = 1;
JTextField txtInput = new JTextField(15);
[Link](txtInput, gbc);
[Link] = 0;
[Link]++;
[Link] = 2;
JPanel radioPanel = new JPanel(new GridLayout(5, 1, 5, 5));
[Link]([Link]("Chọn tùy
chọn"));
[Link](new Color(220, 230, 255));
JRadioButton bt1 = new JRadioButton("Độ dài của chuỗi");
JRadioButton bt2 = new JRadioButton("Xóa khoảng trắng thừa");
JRadioButton bt3 = new JRadioButton("Đếm số từ và hiển thị từng
dòng");
JRadioButton bt4 = new JRadioButton("Xuất k ký tự bên trái/phải");
JRadioButton bt5 = new JRadioButton("Xuất n ký tự từ vị trí k");
ButtonGroup bg = new ButtonGroup();
[Link](bt1);
[Link](bt2);
[Link](bt3);
[Link](bt4);
[Link](bt5);
[Link](bt1);
[Link](bt2);
[Link](bt3);
[Link](bt4);
[Link](bt5);
[Link](radioPanel, gbc);
[Link]++;
JTextArea textArea = new JTextArea(10, 30);
[Link](false);
[Link]([Link]([Link]));
[Link](new Color(245, 245, 245));
[Link](new JScrollPane(textArea), [Link]);
ActionListener actionListener = e -> {
String input = [Link]();
if ([Link]()) {
[Link]("Vui lòng nhập một chuỗi.");
return;
if ([Link]()) {
[Link]("Độ dài của chuỗi: " + [Link]());
} else if ([Link]()) {
[Link]("Chuỗi sau khi xóa khoảng trắng thừa: " +
[Link]().replaceAll("\\s+", " "));
} else if ([Link]()) {
String[] words = [Link]().split("\\s+");
StringBuilder result = new StringBuilder("Số từ: " + [Link]
+ "\n");
for (String word : words) {
[Link](word).append("\n");
[Link]([Link]());
} else if ([Link]()) {
String kStr = [Link]("Nhập số k:");
int k = [Link](kStr);
String leftPart = [Link](0, [Link](k, [Link]()));
String rightPart = [Link]([Link](0, [Link]() - k));
[Link]("K ký tự trái: " + leftPart + "\nK ký tự phải: " +
rightPart);
} else if ([Link]()) {
String kStr = [Link]("Nhập vị trí k:");
String nStr = [Link]("Nhập số n:");
int k = [Link](kStr);
int n = [Link](nStr);
if (k >= 0 && k < [Link]()) {
String sub = [Link](k, [Link](k + n, [Link]()));
[Link]("Chuỗi con: " + sub);
} else {
[Link]("Vị trí k không hợp lệ.");
};
[Link](actionListener);
[Link](actionListener);
[Link](actionListener);
[Link](actionListener);
[Link](actionListener);
[Link](true);
Mảng số tự nhiên GUI
import [Link].*;
import [Link].*;
import [Link];
import [Link];
public class MangSoTuNhien {
public static void main(String[] args) {
JFrame frame = new JFrame("Mảng số tự nhiên");
[Link](600, 700);
[Link](JFrame.EXIT_ON_CLOSE);
[Link](new BorderLayout(10, 10));
JPanel mainPanel = new JPanel(new GridBagLayout());
[Link]([Link](20, 20, 20, 20));
[Link](new Color(230, 240, 255));
[Link](mainPanel, [Link]);
GridBagConstraints gbc = new GridBagConstraints();
[Link] = new Insets(5, 5, 5, 5);
[Link] = [Link];
[Link] = 0;
[Link] = 0;
JLabel title = new JLabel("Mảng số tự nhiên", [Link]);
[Link](new Font("Arial", [Link], 22));
[Link]([Link]);
[Link] = 2;
[Link](title, gbc);
[Link]++;
[Link] = 1;
JLabel labelN = new JLabel("Nhập N: ");
[Link](new Font("Arial", [Link], 14));
[Link](Color.DARK_GRAY);
[Link](labelN, gbc);
[Link] = 1;
JTextField txtN = new JTextField(20);
[Link](txtN, gbc);
[Link] = 0;
[Link]++;
[Link] = 2;
JPanel radioPanel = new JPanel(new GridLayout(7, 1, 7, 7));
[Link]([Link]("Chọn tùy
chọn"));
[Link](new Color(220, 230, 255));
JRadioButton bt1 = new JRadioButton("Tất cả phần tử và tổng");
JRadioButton bt2 = new JRadioButton("Số chẵn và tổng");
JRadioButton bt3 = new JRadioButton("Số lẻ và tổng");
JRadioButton bt4 = new JRadioButton("Số nguyên tố và tổng");
JRadioButton bt5 = new JRadioButton("Thêm phần tử");
JRadioButton bt6 = new JRadioButton("Xóa phần tử thứ k");
JRadioButton bt7 = new JRadioButton("Tìm kiếm số x");
ButtonGroup group = new ButtonGroup();
[Link](bt1);
[Link](bt2);
[Link](bt3);
[Link](bt4);
[Link](bt5);
[Link](bt6);
[Link](bt7);
[Link](bt1);
[Link](bt2);
[Link](bt3);
[Link](bt4);
[Link](bt5);
[Link](bt6);
[Link](bt7);
[Link](radioPanel, gbc);
[Link]++;
JTextArea textArea = new JTextArea(10, 30);
[Link](false);
[Link]([Link]([Link]));
[Link](new Color(245, 245, 245));
[Link](new JScrollPane(textArea), [Link]);
ArrayList<Integer> array = new ArrayList<>();
[Link](e -> {
[Link]();
try {
int N = [Link]([Link]());
for (int i = 0; i < N; i++) {
String input = [Link]("Nhập phần tử thứ "
+ (i + 1));
[Link]([Link](input));
} catch (Exception ex) {
[Link](frame, "Vui lòng nhập số hợp
lệ.");
});
ActionListener radioListener = e -> {
if ([Link]()) {
[Link]("Mảng chưa có dữ liệu.");
return;
StringBuilder result = new StringBuilder();
int sum = 0;
if ([Link]()) {
for (int num : array) {
[Link](num).append(" ");
sum += num;
[Link]("\nTổng: ").append(sum);
} else if ([Link]()) {
for (int num : array) {
if (num % 2 == 0) {
[Link](num).append(" ");
sum += num;
[Link]("\nTổng: ").append(sum);
} else if ([Link]()) {
for (int num : array) {
if (num % 2 != 0) {
[Link](num).append(" ");
sum += num;
[Link]("\nTổng: ").append(sum);
} else if ([Link]()) {
for (int num : array) {
if (isPrime(num)) {
[Link](num).append(" ");
sum += num;
}
[Link]("\nTổng: ").append(sum);
} else if ([Link]()) {
String input = [Link]("Nhập phần tử mới");
[Link]([Link](input));
[Link]("Phần tử đã được thêm.");
return;
} else if ([Link]()) {
String input = [Link]("Nhập vị trí cần xóa
(bắt đầu từ 0)");
int index = [Link](input);
if (index >= 0 && index < [Link]()) {
[Link](index);
[Link]("Phần tử đã bị xóa.");
} else {
[Link]("Vị trí không hợp lệ.");
return;
} else if ([Link]()) {
String input = [Link]("Nhập số cần tìm");
int x = [Link](input);
if ([Link](x)) {
[Link]("Số ").append(x).append(" có trong mảng tại vị
trí: ");
for (int i = 0; i < [Link](); i++) {
if ([Link](i) == x) {
[Link](i).append(" ");
}
}
} else {
[Link]("Số ").append(x).append(" không có trong
mảng.");
[Link]([Link]());
};
[Link](radioListener);
[Link](radioListener);
[Link](radioListener);
[Link](radioListener);
[Link](radioListener);
[Link](radioListener);
[Link](radioListener);
[Link](true);
public static boolean isPrime(int n) {
if (n < 2) return false;
for (int i = 2; i <= [Link](n); i++) {
if (n % i == 0) return false;
return true;
}
}
Form
import [Link].*;
import [Link];
import [Link];
import [Link];
import [Link];
import [Link].*;
class Student {
String id, fName, lName, gender, major, club;
int age;
public Student (String id, String fName, String lName, int age, String
gender, String major, String club) {
[Link] = id;
[Link] = fName;
[Link] = lName;
[Link] = age;
this. gender = gender;
[Link] = major;
this. club = club;
}
public class SinhVien extends JFrame {
private JTextField txtId, txtFName, txtLName, txtAge;
private JRadioButton btMale, btFeMale;
private JComboBox<String> cbMajor;
private JList<String> lClub;
private JButton btnThem, btnXoa, btnSua, btnThoat;
private DefaultTableModel model = new DefaultTableModel();
private JTable tbSV;
private ArrayList<Student> List = new ArrayList<>();
private JScrollBar verticalScrollBar = new JScrollBar([Link]);
public SinhVien() {
setTitle("Thông tin sinh viên");
setSize(800, 600);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new BorderLayout());
JPanel intputPanel = new JPanel(new GridLayout(7, 2));
[Link](new Dimension(300, 250));
[Link]([Link]("Nhap thong tin
Sinh Vien"));
[Link](new JLabel("Ma sinh vien: "));
txtId = new JTextField();
[Link](txtId);
[Link](new JLabel("Ho: "));
txtFName = new JTextField();
[Link](txtFName);
[Link](new JLabel("Ten: "));
txtLName = new JTextField();
[Link](txtLName);
[Link](new JLabel("Tuoi: "));
txtAge = new JTextField();
[Link](txtAge);
[Link](new JLabel("Giới tính:"));
JPanel genderPanel = new JPanel();
btMale = new JRadioButton("Nam");
btFeMale = new JRadioButton("Nữ");
ButtonGroup bg = new ButtonGroup();
[Link](btMale);
[Link](btFeMale);
[Link](btMale);
[Link](btFeMale);
[Link](genderPanel);
[Link](new JLabel("Khoa:"));
String[] major = {"Khoa học máy tính", "Công nghệ thông tin", "Trí tuệ
nhân tạo", "Kỹ thuật phần mềm"};
cbMajor = new JComboBox<>(major);
[Link](cbMajor);
[Link](new JLabel("Câu lạc bộ: "));
String[] club = {"Bóng chuyền", "Bóng đá", "Đàn", "Truyện tranh",
"Bóng rổ", "Đi về nhà"};
lClub = new JList<>(club);
[Link](ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
[Link](new JScrollPane(lClub));
model = new DefaultTableModel(new String[] {"Ma", "Ho", "ten",
"Tuoi", "Gioi tinh", "Khoa", "Cau lac bo"}, 0);
tbSV = new JTable(model);
JScrollPane tbScrollPane = new JScrollPane(tbSV);
[Link]([Link]("Danh sach
sinh vien"));
JPanel btnPanel = new JPanel(new FlowLayout([Link], 15,
10));
btnThem = new JButton("Them");
btnXoa = new JButton("Xoa");
btnSua = new JButton("Sua");
btnThoat = new JButton("Thoat");
[Link](btnThem);
[Link](btnXoa);
[Link](btnSua);
[Link](btnThoat);
add(intputPanel, [Link]);
add(tbScrollPane, [Link]);
add(btnPanel, [Link]);
add(verticalScrollBar, [Link]);
[Link](new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String id = [Link]();
String Fname = [Link]();
String LName = [Link]();
int age = [Link]([Link]());
String gender = [Link]() ? "Nam" : "Nữ";
String major = (String)[Link]();
String clubs = [Link](",", [Link]());
Student sv = new Student(id, Fname, LName, age, gender, major,
clubs);
[Link](sv);
[Link](new Object[] {id, Fname, LName, age, gender,
major, clubs});
});
[Link](new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
int selectedRow = [Link]();
if(selectedRow != -1) {
Student sv = [Link](selectedRow);
[Link] = [Link]();
[Link] = [Link]();
[Link] = txtLName .getText();
[Link] = [Link]([Link]());
[Link] = [Link]() ? "Nam" : "Nữ";
[Link] = (String)[Link]();
[Link] = [Link](",", [Link]());
[Link]([Link], selectedRow, 0);
[Link]([Link], selectedRow, 1);
[Link]([Link], selectedRow, 2);
[Link]([Link], selectedRow, 3);
[Link]([Link], selectedRow, 4);
[Link]([Link], selectedRow, 5);
[Link]([Link], selectedRow, 6);
});
[Link](new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
int selectedRow = [Link]();
if(selectedRow != -1) {
[Link](selectedRow);
[Link](selectedRow);
}
}
});
[Link](new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
[Link](0);
});
setVisible(true);
public static void main(String[] args) {
new SinhVien();
Calculator
import [Link].*;
import [Link].*;
import [Link];
public class Calculator {
public static void main(String[] args) {
JFrame frame = new JFrame("Calculator");
[Link](400, 300);
[Link](JFrame.EXIT_ON_CLOSE);
[Link](new GridBagLayout());
[Link]().setBackground(new Color(230, 240, 255));
GridBagConstraints gbc = new GridBagConstraints();
[Link] = new Insets(5, 5, 5, 5);
[Link] = [Link];
JLabel label1 = new JLabel("Nhập số thứ nhất: ");
JTextField txt1 = new JTextField(10);
JLabel label2 = new JLabel("Nhập số thứ hai: ");
JTextField txt2 = new JTextField(10);
JLabel resultLabel = new JLabel("Kết quả: ");
JTextField resultField = new JTextField(15);
[Link](false);
[Link]([Link]);
JRadioButton addButton = new JRadioButton("Tổng");
JRadioButton subButton = new JRadioButton("Hiệu");
JRadioButton mulButton = new JRadioButton("Tích");
JRadioButton divButton = new JRadioButton("Thương");
ButtonGroup group = new ButtonGroup();
[Link](addButton);
[Link](subButton);
[Link](mulButton);
[Link](divButton);
JPanel panel = new JPanel();
[Link]([Link]("Chọn phép toán"));
[Link](new Color(220, 230, 255));
[Link](addButton);
[Link](subButton);
[Link](mulButton);
[Link](divButton);
ActionListener actionListener = e -> {
try {
int num1 = [Link]([Link]());
int num2 = [Link]([Link]());
double result = 0;
if ([Link]()) result = num1 + num2;
else if ([Link]()) result = num1 - num2;
else if ([Link]()) result = num1 * num2;
else if ([Link]()) {
if (num2 != 0) result = (double) num1 / num2;
else {
[Link]("Không thể chia cho 0");
return;
[Link]([Link](result));
} catch (NumberFormatException ex) {
[Link]("Vui lòng nhập số hợp lệ");
}
};
[Link](actionListener);
[Link](actionListener);
[Link](actionListener);
[Link](actionListener);
[Link] = 0; [Link] = 0; [Link](label1, gbc);
[Link] = 1; [Link](txt1, gbc);
[Link] = 0; [Link] = 1; [Link](label2, gbc);
[Link] = 1; [Link](txt2, gbc);
[Link] = 0; [Link] = 2; [Link] = 2; [Link](panel, gbc);
[Link] = 3; [Link] = 1; [Link](resultLabel, gbc);
[Link] = 1; [Link](resultField, gbc);
[Link](true);
tách xâu/chuỗi thành mảng
xâu/chuỗi
Cú pháp cơ bản:
java
Sao chépChỉnh sửa
String[] mang = [Link]("dau_phan_cach");
✅ Ví dụ 1: Tách chuỗi theo dấu phẩy
java
Sao chépChỉnh sửa
String chuoi = "An,Bình,Cường,Dũng";
String[] mang = [Link](",");
for (String ten : mang) {
[Link](ten);
📌 Kết quả:
mathematica
Sao chépChỉnh sửa
An
Bình
Cường
Dũng
✅ Ví dụ 2: Tách theo dấu cách (space)
java
Sao chépChỉnh sửa
String chuoi = "Xin chao cac ban";
String[] tu = [Link](" ");
for (String s : tu) {
[Link](s);
✅ Ví dụ 3: Tách theo nhiều dấu cách hoặc ký tự đặc biệt
Dùng biểu thức chính quy (regex):
java
Sao chépChỉnh sửa
String chuoi = "Java | Python |C++";
String[] mang = [Link]("\\s*\\|\\s*"); // Tách theo dấu | có thể có khoảng
trắng
for (String s : mang) {
[Link](s);
📌 Kết quả:
mathematica
Sao chépChỉnh sửa
Java
Python
C++
✅ Một số lưu ý:
split() dùng regex, nên nếu bạn tách theo ký tự đặc biệt như ., |, *, ?,
+, bạn cần escape (thêm \\).
Ví dụ:
java
Sao chépChỉnh sửa
[Link]("\\."); // tách theo dấu chấm .
[Link]("\\|"); // tách theo dấu |