Skip to content

求素数:

java
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class Hello {
    public Hello() {
        JLabel label = new JLabel("text");
        JTextField field = new JTextField(10);
        JButton btn = new JButton("button");
        JTextField field2 = new JTextField(10);

        JPanel panel = new JPanel();
        panel.add(label);
        panel.add(field);
        panel.add(btn);
        panel.add(field2);

        JFrame frame = new JFrame("name");
        frame.add(panel);
        frame.setSize(300, 300);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);

        btn.addActionListener(e -> {
            System.out.println("test");
            int num = Integer.parseInt(field.getText());
            boolean isPrime = isPrime(num);

            field2.setText(num + " " + isPrime);
        });

    }

    private static boolean isPrime(int n) {
        if (n <= 1)
            return false;
        for (int i = 2; i < Math.sqrt(n); i++) {
            if (n % i == 0)
                return false;
        }
        return true;
    }

    public static void main(String[] args) {
        Hello h = new Hello();
    }
}

计算器:

java
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
import java.awt.*;

public class Hello {
    public static void main(String[] args) {

        JTextField num1Field = new JTextField(10);
        JTextField num2Field = new JTextField(10);
        JLabel resultLabel = new JLabel("结果: ");

        JButton addBtn = new JButton("+");
        JButton subBtn = new JButton("-");
        JButton mulBtn = new JButton("*");
        JButton divBtn = new JButton("/");
        JButton clearBtn = new JButton("清空");

        // 加法
        addBtn.addActionListener(e -> {
            try {
                double num1 = Double.parseDouble(num1Field.getText());
                double num2 = Double.parseDouble(num2Field.getText());
                resultLabel.setText("结果: " + (num1 + num2));
            } catch (NumberFormatException ex) {
                resultLabel.setText("输入错误");
            }
        });

        // 减法
        subBtn.addActionListener(e -> {
            try {
                double num1 = Double.parseDouble(num1Field.getText());
                double num2 = Double.parseDouble(num2Field.getText());
                resultLabel.setText("结果: " + (num1 - num2));
            } catch (NumberFormatException ex) {
                resultLabel.setText("输入错误");
            }
        });

        // 乘法
        mulBtn.addActionListener(e -> {
            try {
                double num1 = Double.parseDouble(num1Field.getText());
                double num2 = Double.parseDouble(num2Field.getText());
                resultLabel.setText("结果: " + (num1 * num2));
            } catch (NumberFormatException ex) {
                resultLabel.setText("输入错误");
            }
        });

        // 除法
        divBtn.addActionListener(e -> {
            try {
                double num1 = Double.parseDouble(num1Field.getText());
                double num2 = Double.parseDouble(num2Field.getText());
                if (num2 == 0) {
                    resultLabel.setText("计算错误: 除零");
                } else {
                    resultLabel.setText("结果: " + (num1 / num2));
                }
            } catch (NumberFormatException ex) {
                resultLabel.setText("输入错误");
            }
        });

        // 清空
        clearBtn.addActionListener(e -> {
            num1Field.setText("");
            num2Field.setText("");
            resultLabel.setText("结果: ");
        });

        JFrame frame = new JFrame("简单计算器");
        frame.setLayout(new FlowLayout());
        frame.setSize(300, 200);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);

        frame.add(new JLabel("数字1:"));
        frame.add(num1Field);
        frame.add(new JLabel("数字2:"));
        frame.add(num2Field);
        frame.add(addBtn);
        frame.add(subBtn);
        frame.add(mulBtn);
        frame.add(divBtn);
        frame.add(clearBtn);
        frame.add(resultLabel);
    }
}