このブログを検索

2019年8月20日火曜日

アホ男子のための 割り算 問題 学習プログラム(作成中)②

🌟アホ男子 のための 割り算 問題プログラムを作ってみよう

 ランダムを使って 二桁で割る 割り算を作ってみた。

// 数値を文字列に直して表示しよう。← 変数にしてみよう
//ランダムに出題できるようにしよう(過去のプログラム参照)
//次は 合否判定をしてみよう。
import java.awt.*;
import java.awt.event.*;
class Main6{
    public static void main(String[] args){
        MyWindow mw = new MyWindow();
    }
}

class MyWindow extends Frame implements ActionListener{
    Button btn1, btn2;
    String mondai = questions();  //他のメソッドから代入
    MyWindow(){
        setTitle("問題集");
        setSize(640, 400);
        setLayout(null); //レイアウトの解除
        btn1 = new Button("◯");
        btn2 = new Button("×");
        btn1.setBounds(100, 300, 150, 80);
        btn2.setBounds(400, 300, 150, 80);
        btn1.addActionListener(this);
        btn2.addActionListener(this);
        add(btn1);
        add(btn2);
        Label la = new Label(mondai);
        la.setFont(new Font("Serif", Font.PLAIN, 34));
        la.setAlignment(Label.CENTER);
        la.setBackground(Color.LIGHT_GRAY); //Label 背景色
        la.setForeground(Color.BLACK);  //Label 文字色
        la.setBounds(100, 100, 450, 50);
        add(la);
        setVisible(true);
        addWindowListener( new WinListener() );
    }
    
    public String questions(){
        int moto; //割られる数値です。
        int waru; //割る数値です。
        int ans; //答え
        int amari; //答え(あまり)
        waru = (int)(Math.random()*29)+2; //割る数値(2〜30)
        ans = (int)(Math.random()*9)+1; //答え(1〜9)
        amari = (int)(Math.random()*(waru-1))+1; //あまりの数値(1〜割る数値−1)
        moto = waru * ans + amari; //割られる数値
        return moto + " ÷ " + waru + " = " + ans + " ... " + amari;
    }
    
    
    public void actionPerformed(ActionEvent e){
        if(e.getSource() == btn1) {
            System.out.println("◯ を押しました");
            btn1.setLabel("正解 !");
        }
        if(e.getSource() == btn2) {
            System.out.println("× を押しました");
            btn2.setLabel("違っているよ !");
        }
    }
}

class WinListener extends WindowAdapter{
    public void windowClosing(WindowEvent e){System.exit(0);}

}

        
次は、boolean を返り値にした メソッドを使用して 合否判定をしてみよう。

今日の教訓
 息子の宿題を色々 見ているうちに、
 最近は さんすう に詳しくなりました。

0 件のコメント:

コメントを投稿