簡単な頭の体操計算

```
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class Kisan extends JFrame {

    public static void main(String[] args) {
        Game a = new Game();
        a.setVisible(true);
    }
}

class Game extends JFrame implements ActionListener {

    public JLabel mon;//問題の文字
    public JLabel sei2;//正解の文字
    public String saishosei = "これを解いてね";//最初の文字
    public int awase;//合わせた数
    public JTextField ko;//答えフィールドの答え
    public int sho, tugi;//足し算二つ
    public JLabel sei3;//正解のラベル

    Game() {
        /*基本設定*/
        super("計算機");
        this.setBounds(600, 500, 450, 300);//全体の位置
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//終了時の処理
        this.setVisible(true);//可視化
        /*テキスト作り*/
        /*下のボタン*/
        JPanel p = new JPanel();
        ko = new JTextField(30);//テキストの大きさ
        JButton tou = new JButton("どん");//ボタンの文字
        tou.addActionListener(this);//ボタンイベント受け
        ko.addActionListener(this);//テキストイベント受け
        p.add(ko);
        p.add(tou);
        Container contentPane = getContentPane();//全体を取得
        contentPane.add(p, BorderLayout.SOUTH);//ボタンの位置の調整
        /*上の問題作り*/
        Random rnd = new Random();//下４行ランダムな数字をだす
        Random rnd2 = new Random();
        sho = rnd.nextInt(100);
        tugi = rnd2.nextInt(100);
        awase = sho + tugi;
        /*中央の正解をだす*/
        JPanel sei = new JPanel();
        sei.setLayout(null);//まずパネルのレイヤーをnullにする
        sei3 = new JLabel(saishosei);//正解
        mon = new JLabel(sho + "+" + tugi);//問題の文字を記入
        sei3.setFont(new Font("MS ゴシック", Font.BOLD, 30));//正解の大きさを指定
        mon.setFont(new Font("Arial", Font.PLAIN, 30));//問題の大きさを指定
        sei3.setBounds(100, 130, 500, 35);//正解の場所指定
        mon.setBounds(170, 90, 600, 35);//問題の場所指定
        sei.add(sei3);
        sei.add(mon);
        contentPane.add(sei, BorderLayout.CENTER);//正解の位置
    }

    /*イベント受け取り用の関数*/
    public void actionPerformed(ActionEvent ev) {
        String ko2 = "";//初期化
        boolean frg = true;//フラグ
        //System.out.println(ko2);//確認用
        ko2 = ko.getText();//テキストから文字取得
        if (ko.getText().equals("") || ko2 == "") {
            sei3.setForeground(Color.BLACK);//色指定
            sei3.setBounds(56, 130, 500, 35);//正解の場所指定
            sei3.setText("文字入力をしてください");
            frg = false;
        }
        if (frg == true) {//if1
            awase = sho + tugi;//合体
            try {
                int ko4 = Integer.parseInt(ko2);//型変換
                if (ko4 == awase) {//if2
                    sei3.setText("正解です");
                    sei3.setForeground(Color.RED);//色指定
                    sei3.setBounds(148, 130, 500, 35);//正解の場所指定
                    ko.setText("");//文字を消す
                    Random rnd = new Random();//下４行ランダムな数字をだす
                    Random rnd2 = new Random();
                    sho = rnd.nextInt(100);
                    tugi = rnd2.nextInt(100);
                    mon.setText(sho + "+" + tugi);
                } else {
                    sei3.setText("はずれです");
                    sei3.setForeground(Color.BLUE);//色指定
                    sei3.setBounds(130, 130, 500, 35);//正解の場所指定
                    ko.setText("");//文字を消す
                }//if2終了
            }//try終了
            catch (NumberFormatException e) {
                sei3.setText("数字の文字を入れてください");//数値の文字以外が書かれたとき
                sei3.setForeground(Color.BLACK);//色指定
                sei3.setBounds(10, 130, 500, 35);//場所指定
                ko.setText("");//文字を消す
            }//catch終了
        }/*イベント受け取り関数終了*/
    }//if1終了
}//class終了
```
永遠と足し算をしていくだけのゲーム。