28/09/2018, 22:16

Đếm số từ của một chuỗi trong Java Swing

Đồng hồ trong Java Swing Đề 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ừ. Lời giải Cách đếm số từ trong một ...

Đồng hồ trong Java Swing

Đề 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ừ.

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ả:

Đếm số từ của một chuỗi trong Java Swing
Đồng hồ trong Java Swing
0