回覆列表
  • 1 # 程式設計頌

    import java.awt.*;

    import javax.swing.*;

    import java.awt.event.*;public class Teacher {

    int numberOne,numberTwo;

    String operator="";

    boolean right;

    public int giveNumberOne(int n){

    numberOne=(int)(Math.random()*n)+1;

    return numberOne;

    }

    public int giveNumberTwo(int n){

    numberTwo=(int)(Math.random()*n)+1;

    return numberTwo;

    }

    public String giveOperator(){

    double d=Math.random();

    if(d>=0.8)

    operator="+";

    else if(d0.5)

    operator="-";

    else if(d0.2)

    operator="*";

    else if(d

    operator="/";

    return operator;

    }

    public boolean getRight(int answer){

    if(operator.equals("+")){

    if(answer==numberOne+numberTwo)

    right=true;

    else

    right=false;

    }

    else if(operator.equals("-")){

    if(answer==numberOne-numberTwo)

    right=true;

    else

    right=false;

    }

    else if(operator.equals("*")){

    if(answer==numberOne*numberTwo)

    right=true;

    else

    right=false;

    }

    else if(operator.equals("/")){

    if(answer==numberOne/numberTwo)

    right=true;

    else

    right=false;

    }

    return right;

    }

    }

    public class ComputerJFrame extends JFrame implements ActionListener{

    TextField textOne,textTwo,textResult;

    Button getProblem,giveAnswer;

    Label operatorLabel,message;

    Teacher teacher;

    ComputerJFrame(String s){

    super(s);

    teacher = new Teacher();

    setLayout(new FlowLayout());

    textOne = new TextField(10);

    textTwo = new TextField(10);

    textResult = new TextField(10);

    operatorLabel = new Label("+");

    message = new Label("你還沒有回答呢");

    getProblem = new Button("獲取題目");

    giveAnswer = new Button("確認答案");

    add(getProblem);

    add(textOne);

    add(operatorLabel);

    add(textTwo);

    add(new Label("="));

    add(textResult);

    add(giveAnswer);

    add(message);

    textResult.requestFocus();

    textOne.setEditable(false);//該方法設定文字框的可編輯性

    textTwo.setEditable(false);

    getProblem.addActionListener(this);//建立監視器

    giveAnswer.addActionListener(this);

    textResult.addActionListener(this);

    setBounds(100,100,450,100);//設定出現螢幕上時的初始位置

    setLocationRelativeTo(null);//居中

    setVisible(true);//視窗的可見性

    validate();

    addWindowFocusListener(new WindowAdapter(){

    public void windowClosing(WindowEvent e){

    System.exit(0);

    }

    }

    );

    }

    public void actionPerformed(ActionEvent e){

    if(e.getSource()==getProblem){

    int number1 = teacher.giveNumberOne(100);

    int number2 = teacher.giveNumberTwo(100);

    String operator = teacher.giveOperator();

    textOne.setText(""+number1);//設定文字框中為引數字串指定的文字

    textTwo.setText(""+number2);

    operatorLabel.setText(operator);

    message.setText("請回答");

    textResult.setText(null);

    }

    if(e.getSource()==giveAnswer){

    String answer = textResult.getText();

    try{ int result = Integer.parseInt(answer);

    if(teacher.getRight(result)==true){

    message.setText("你回答正確");

    }

    else{

    message.setText("你回答錯誤");

    }

    }

    catch(NumberFormatException ex){

    message.setText("請輸入數字字元");

    }

    }

    textResult.requestFocus();

    validate();

    }

    }public class MainClass {

    public static void main(String[] args) {

    ComputerJFrame frame;

    frame = new ComputerJFrame("算術測試");

    }

    }

  • 中秋節和大豐收的關聯?
  • 古詩《遊園不值》的詩句是什麼?