Đề bài: Nhập một chuỗi ký tự. Đếm số từ trong một chuỗi đó (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ừ.
Nội dung chính
Lời giải
Cách đếm số từ trong một chuỗi trong java:
String.split ("\\s").length;
Cách đếm số ký tự trong một chuỗi trong java:
String.length();
File: DemTuView.java
package vn.viettuts.swing.demtu; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JTextArea; public class DemTuView extends JFrame { private JLabel labelSoTu; private JLabel labelSoKyTu; private JButton btnKetQua; private JTextArea textArea; public DemTuView() { setTitle("Java Swing - đếm số từ và số ký tự"); labelSoTu = new JLabel("Số từ:"); labelSoKyTu = new JLabel("Số ký tự:"); labelSoTu.setBounds(20, 20, 100, 25); labelSoKyTu.setBounds(100, 20, 100, 25); textArea = new JTextArea(); textArea.setBounds(20, 50, 380, 220); btnKetQua = new JButton("Kết Quả"); btnKetQua.setBounds(20, 280, 80, 25); add(labelSoTu); add(labelSoKyTu); add(textArea); add(btnKetQua); // thiết lập bố cục (layout) setLayout(null); // thiết lập kích thước jframe setSize(450, 400); // hiển thị jframe setVisible(true); } public JLabel getLabelSoTu() { return labelSoTu; } public void setLabelSoTu(JLabel labelSoTu) { this.labelSoTu = labelSoTu; } public JLabel getLabelSoKyTu() { return labelSoKyTu; } public void setLabelSoKyTu(JLabel labelSoKyTu) { this.labelSoKyTu = labelSoKyTu; } public JButton getBtnKetQua() { return btnKetQua; } public void setBtnKetQua(JButton btnKetQua) { this.btnKetQua = btnKetQua; } public JTextArea getTextArea() { return textArea; } public void setTextArea(JTextArea textArea) { this.textArea = textArea; } }
File: DemTuController.java
package vn.viettuts.swing.demtu; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; public class DemTuController implements ActionListener { private DemTuView view; public DemTuController(DemTuView view) { this.view = view; view.getBtnKetQua().addActionListener(this); view.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { System.exit(1); } }); } @Override public void actionPerformed(ActionEvent e) { view.getLabelSoTu().setText("Số từ: " + view.getTextArea().getText().split ("\\s").length); view.getLabelSoKyTu().setText("Số ký tự: " + view.getTextArea().getText().length()); } }
File: DemTuMain.java
package vn.viettuts.swing.demtu; public class DemTuMain { public static void main(String[] args) { DemTuView view = new DemTuView(); new DemTuController(view); } }
Kết quả: