JAVA实验九

一  算术测试

Class one

package aaa;

import java.util.Random;
import java.awt.event.*;
import javax.swing.*;
public class One implements ActionListener{
	int numberOne,numberTwo;
	String operator="";
	boolean isRight;
	Random random;
	int maxInteger;
	JTextField textOne,textTwo,textResult;
	JLabel operatorLabel,message;
	One(){
		random = new Random();
	}
	public void setMaxInteger(int n){
		maxInteger=n;
	}
	public void actionPerformed(ActionEvent e){
		String str=e.getActionCommand();
		if(str.equals("getProblem")){
			numberOne=random.nextInt(maxInteger)+1;
			numberTwo=random.nextInt(maxInteger)+1;
			double d=Math.random();
			if(d>=0.5)
				operator="+";
			else
				operator="-";
			textOne.setText(""+numberOne);
			textTwo.setText(""+numberTwo);
			operatorLabel.setText(operator);
			message.setText("请回答");
			textResult.setText(null);
		}
		else if(str.equals("answer")){
			String answer = textResult.getText();
			try{ int result=Integer.parseInt(answer);
			if(operator.equals("+")){
				if(result==numberOne+numberTwo)
					message.setText("你回答正确");
				else
					message.setText("你回答错误");
			}
			else if(operator.equals("-")){
				if(result==numberOne-numberTwo)
					message.setText("你回答正确");
				else
					message.setText("你回答错误");
			}
		}
		catch(NumberFormatException ex){
			message.setText("请输入数字字符");
		}
	}
}
	public void setJTextField(JTextField...t){
		textOne=t[0];
		textTwo=t[1];
		textResult=t[2];
	}
	public void setJLabel(JLabel...label){
		operatorLabel=label[0];
		message=label[1];
	}
}

Class two

package zjq;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class ComputerFram extends JFrame {
JMenuBar menubar;
JMenu choiceGrade;
JMenuItem grade1,grade2;
JTextField textOne,textTwo,textResult;
JButton getProblem,giveAnswer;
JLabel operatorLabel,message;
One teacherZhang;
ComputerFram()
{
	teacherZhang=new One();
	teacherZhang.setMaxInteger(20);
	setLayout(new FlowLayout());
	menubar=new JMenuBar();
	choiceGrade=new JMenu("选择级别");
	grade1=new JMenuItem("幼儿级别");
	grade2=new JMenuItem("儿童级别");
	grade1.addActionListener(new ActionListener(){
		public void actionPerformed(ActionEvent e){
			teacherZhang.setMaxInteger(10);
		}
	});
	grade2.addActionListener(new ActionListener(){
		public void actionPerformed(ActionEvent e){
			teacherZhang.setMaxInteger(50);
		}
	});
	choiceGrade.add(grade1);
	choiceGrade.add(grade2);
	menubar.add(choiceGrade);
	setJMenuBar(menubar);
	textOne=new JTextField(5);
	textTwo=new JTextField(5);
	textResult=new JTextField(5);
	operatorLabel=new JLabel("+");
	operatorLabel.setFont(new Font("Arial",Font.BOLD,20));
	message=new JLabel("未作答");
	getProblem=new JButton("获取题目");
	giveAnswer=new JButton("获取答案");
	add(textOne);
	add(operatorLabel);
	add(textTwo);
	add(new JLabel("="));
	add(textResult);
	add(giveAnswer);
	add(message);
	add(getProblem);
	textResult.requestFocus();
	textOne.setEditable(false);
	textTwo.setEditable(false);
	getProblem.setActionCommand("getProblem");
	textResult.setActionCommand("answer");
	giveAnswer.setActionCommand("answer");
	teacherZhang.setJTextField(textOne,textTwo,textResult);
	teacherZhang.setJLabel(operatorLabel,message);
	getProblem.addActionListener(teacherZhang);
	giveAnswer.addActionListener(teacherZhang);
	textResult.addActionListener(teacherZhang);
	setVisible(true);
	validate();
	setDefaultCloseOperation(DISPOSE_ON_CLOSE);
}
}

 Class Three

package zjq;

public class MainClass {
 
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
ComputerFram frame;
frame=new ComputerFram();
frame.setTitle("算数测试");
frame.setBounds(100,100,650,180);
	}
}

  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

糖醋小凉皮

求一点点生活费

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值