{"id":25379,"date":"2024-06-16T10:35:17","date_gmt":"2024-06-16T01:35:17","guid":{"rendered":"http:\/\/www.tyosuke20xx.com\/blog\/?p=25379"},"modified":"2024-06-16T10:35:20","modified_gmt":"2024-06-16T01:35:20","slug":"java-%e9%9b%bb%e5%8d%93","status":"publish","type":"post","link":"http:\/\/www.tyosuke20xx.com\/blog\/?p=25379","title":{"rendered":"Java \u96fb\u5353"},"content":{"rendered":"\n<pre class=\"wp-block-code\"><code>import javax.swing.*;\nimport java.awt.*;\nimport java.awt.event.ActionEvent;\nimport java.awt.event.ActionListener;\n\npublic class Calculator extends JFrame implements ActionListener {\n    private JTextField display;\n    private JPanel panel;\n    private StringBuilder currentInput;\n    private double result;\n    private String operator;\n\n    public Calculator() {\n        \/\/ Frame settings\n        setTitle(\"Calculator\");\n        setSize(400, 600);\n        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);\n\n        \/\/ Display settings\n        display = new JTextField();\n        display.setEditable(false);\n        display.setFont(new Font(\"Arial\", Font.BOLD, 24));\n        add(display, BorderLayout.NORTH);\n\n        \/\/ Button panel settings\n        panel = new JPanel();\n        panel.setLayout(new GridLayout(4, 4));\n\n        \/\/ Create and add buttons\n        String&#91;] buttons = {\n            \"7\", \"8\", \"9\", \"\/\",\n            \"4\", \"5\", \"6\", \"*\",\n            \"1\", \"2\", \"3\", \"-\",\n            \"0\", \".\", \"=\", \"+\"\n        };\n\n        for (String text : buttons) {\n            JButton button = new JButton(text);\n            button.setFont(new Font(\"Arial\", Font.BOLD, 24));\n            button.addActionListener(this);\n            panel.add(button);\n        }\n\n        add(panel, BorderLayout.CENTER);\n\n        currentInput = new StringBuilder();\n        result = 0;\n        operator = \"\";\n    }\n\n    @Override\n    public void actionPerformed(ActionEvent e) {\n        String command = e.getActionCommand();\n\n        if (\"0123456789.\".contains(command)) {\n            currentInput.append(command);\n            display.setText(currentInput.toString());\n        } else if (command.equals(\"=\")) {\n            calculate();\n            display.setText(String.valueOf(result));\n            currentInput.setLength(0);\n        } else {\n            if (currentInput.length() > 0) {\n                calculate();\n                operator = command;\n                display.setText(String.valueOf(result));\n                currentInput.setLength(0);\n            }\n        }\n    }\n\n    private void calculate() {\n        double input = currentInput.length() > 0 ? Double.parseDouble(currentInput.toString()) : 0;\n\n        switch (operator) {\n            case \"+\":\n                result += input;\n                break;\n            case \"-\":\n                result -= input;\n                break;\n            case \"*\":\n                result *= input;\n                break;\n            case \"\/\":\n                result \/= input;\n                break;\n            default:\n                result = input;\n                break;\n        }\n    }\n\n    public static void main(String&#91;] args) {\n        SwingUtilities.invokeLater(() -> {\n            Calculator calculator = new Calculator();\n            calculator.setVisible(true);\n        });\n    }\n}\n<\/code><\/pre>\n\n\n\n<ol class=\"wp-block-list\">\n<li><code>javac Calculator.java <\/code><\/li>\n\n\n\n<li><code>java Calculator<\/code><\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[76,4],"tags":[75,3],"class_list":["post-25379","post","type-post","status-publish","format-standard","hentry","category-java","category-programming","tag-java","tag-programming"],"aioseo_notices":[],"jetpack_featured_media_url":"","_links":{"self":[{"href":"http:\/\/www.tyosuke20xx.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/25379","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.tyosuke20xx.com\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.tyosuke20xx.com\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.tyosuke20xx.com\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.tyosuke20xx.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=25379"}],"version-history":[{"count":1,"href":"http:\/\/www.tyosuke20xx.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/25379\/revisions"}],"predecessor-version":[{"id":25380,"href":"http:\/\/www.tyosuke20xx.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/25379\/revisions\/25380"}],"wp:attachment":[{"href":"http:\/\/www.tyosuke20xx.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=25379"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.tyosuke20xx.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=25379"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.tyosuke20xx.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=25379"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}