首页 > 编程语言 >JAVA实验九

JAVA实验九

时间:2024-06-18 21:30:46浏览次数:28  
标签:textResult teacherZhang JAVA add 实验 new message public

一  算术测试

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);
	}
}

标签:textResult,teacherZhang,JAVA,add,实验,new,message,public
From: https://blog.csdn.net/m0_73892220/article/details/139677975

相关文章

  • ​b站视频演示效果:【web前端特效源码】使用HTML5+CSS3+JavaScript十分钟快速制作一个
    b站视频演示效果:【网页设计期末大作业源代码】使用HTML5+CSS3+JavaScript十分钟快速制作一个简约大气卡通动漫静态网站|自制超简单的卡通类网页,响应式自适应新手友效果图:完整代码:<!DOCTYPEhtml><html><head><title>Home</title><metaname="viewpor......
  • Java怎么现在支付宝沙盒支付
    一、支付环境准备支付宝的公钥和私钥支付的网关支付的APPID1、配置沙箱应用环境1、打开支付宝开放平台,官网:支付宝开放平台2、登录个人账户,然后点击控制台找到里面的沙箱3、这里能够找到APPID和支付宝网关地址和密钥二、设置内网穿透环境我用的花生壳:花生壳官网|动态域名|......
  • 基于SpringBoot+Vue+uniapp的高校实验室信息化综合管理平台建设的详细设计和实现(源码
    文章目录前言详细视频演示具体实现截图技术栈后端框架SpringBoot前端框架Vue持久层框架MyBaitsPlus系统测试系统测试目的系统功能测试系统测试结论为什么选择我代码参考数据库参考源码获取前言......
  • java基础·小白入门(一)
    目录Java语言概述Java的性质三种平台跨平台原理Java语言开发环境相关概念Java开发工具的安装Java程序的编译与运行基本注意事项Java语言基础数据类型基本数据类型引用数据类型关键字与标识符常量与变量常量变量数据类型转换常见运算符Java语言概述这一部分主要......
  • 课题分享:校园快领服务系统,基于java+SSM+mysql
     一、前言介绍     随着中国经济的快速发展和互联网技术的普及,信息管理改革确实成为了一种广泛和全面的趋势。在这一背景下,基于MySQL数据库的校园快领服务系统应运而生,这不仅体现了信息化建设在教育领域的深入应用,也展现了现代管理手段在提高工作效率和优化服务体验......
  • 课程分享:校园兼职系统,基于java+SSM+mysql
    一、前言介绍       随着社会的不断发展和科学技术的飞速进步,互联网技术已经变得越来越受到人们的欢迎。在这个快节奏的时代,我们的生活方式也变得越来越忙碌,对生活品质的要求也变得更加严格。因此,对于快速、方便的服务的需求也在逐渐增加。互联网具有许多优点,例如便利......
  • 深入理解Java虚拟机
    类加载加载java数据类型分为基本数据类型和引用数据类型,基本数据类型由虚拟机预先定义,引用数据类型才需要类的加载过程。类的加载,就是将java类的字节码文件加载到内存中,并通过字节码在内存中构建出类的原型---类模板对象。jvm把字节码中的常量池,类字段,类方法等信息存储到类模......
  • Java访问控制符及final
    1、访问控制符在Java语言中,访问控制修饰符有4种,分别是public、private、protected和default。1) private用private修饰的类成员,只能被该类自身的方法访问和修改,而不能被任何其他类(包括该类的子类)访问和引用。因此,private修饰符具有最高的保护级别。2)default(默......
  • Java毕业设计 基于SSM助学贷款管理系统
    Java毕业设计基于SSM助学贷款管理系统SSM助学贷款管理系统功能介绍学生:登录修改密码学生信息贷款项目信息申请贷款留言信息公告学校负责人:登录修改密码学生管理学校负责人信息贷款项目贷款申请审批留言信息公告银行负责人:登录修改密码银行负责人信息......
  • 数组趣味玩法:在Java SE中尝试创新玩法
    哈喽,各位小伙伴们,你们好呀,我是喵手。运营社区:C站/掘金/腾讯云;欢迎大家常来逛逛  今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一个人虽可以走的更快,但一群人可以走的更远。  我是一名后端开发爱好者,工作日常接触到最多的......