画鸵萌宠网
CalcWindow.java
package dao;
import javax.swing.*;
import java.awt.Font;
@SuppressWarnings("serial")
public class CalcWindow extends JFrame {
public Module contentPane = new Module();
public static void main(String[] args) {
new CalcWindow();
}
public CalcWindow() {
setFont(new Font("Dialog", Font.PLAIN, 20));
setTitle("随机出题&简单的计算!");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 531, 611);
setVisible(true);
getContentPane().add(contentPane);
contentPane.setLayout(null);
}
}
Number.java
package dao;
public class Number {
public int n1;
public int n2;
public float n3;
public float n4;
public String sign;
public Number() {
}
public int getN1() {
return n1;
}
public void setN1(int n1) {
this.n1 = n1;
}
public int getN2() {
return n2;
}
public void setN2(int n2) {
this.n2 = n2;
}
public float getN3() {
return n3;
}
public float getN4() {
return n4;
}
public void setN3(float n3) {
this.n3=n3;
}
public void setN4(float n4) {
this.n4=n4;
}
public String getSign() {
return sign;
}
public void setSign(String sign) {
this.sign = sign;
}
}
Integer.java
package dao;
public class Integer {
Number number = new Number();
static int result ;
public Integer() {
generateResult();
}
public int generateResult() {
number.setN1( (int) ((Math.random() * 50) + 1) );
number.setN2((int) ((Math.random() * 50) + 1));
int temp = (int) ((Math.random() * 4));
if (temp == 0) {
number.setSign("+");
result = number.getN1() + number.getN2();
}
if (temp == 1) {
number.setSign("-");
result = number.getN1() - number.getN2();
}
if (temp == 2) {
number.setSign("*");
result = number.getN1() * number.getN2();
}
if (temp == 3) {
number.setSign("/");
result = number.getN1() / number.getN2();
}
return result;
}
public Number getNumber(){
return number;
}
public static boolean IsEqual(String inputNumber){
return inputNumber.equals(result+"");
}
public static int getResult(){
return result;
}
}
Decimals.java
package dao;
public class Decimals {
Number number = new Number();
static float result ;
public Decimals() {
generateResult();
}
public float generateResult() {
number.setN3( (float) ((Math.random() * 2) + 1) );
number.setN4((float) ((Math.random() * 2) + 1));
int temp = (int) ((Math.random() * 4));
if (temp == 0) {
number.setSign("+");
result = number.getN3() + number.getN4();
}
if (temp == 1) {
number.setSign("-");
result = number.getN3() - number.getN4();
}
if (temp == 2) {
number.setSign("*");
result = number.getN3() * number.getN4();
}
if (temp == 3) {
number.setSign("/");
result = number.getN3() / number.getN4();
}
return result;
}
public Number getNumber(){
return number;
}
public static boolean IsEqual(String inputNumber){
return inputNumber.equals(result+"");
}
public static float getResult(){
return result;
}
}
Module.java
package dao;
import javax.swing.*;
import javax.swing.border.EmptyBorder;
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
@SuppressWarnings("serial")
public class Module extends JPanel {
public JTextField txfInput1;
public JTextField txfInput2;
public Integer integer = new Integer();
public Decimals decimals=new Decimals();
public Number number = integer.getNumber();
public String a = " ";
private JLabel lblMessage1;
private JLabel lblMessage2;
private JLabel lblMessage3;
private JLabel lblMessage5;
private JLabel lblMessage6;
private JLabel lblMessage7;
private JLabel lblMessage8;
private JButton btnCalculate1;
private JButton btnCalculate2;
private JButton btnCalculate_1;
private JButton btnCalculate_2;
public Module() {
setBorder(new EmptyBorder(5, 5, 5, 5));
setLayout(null);
inputBox1();
inputBox2();
genN1AndN2Sign(number.getN1(), number.getN2(), number.getSign());
genN3AndN4Sign(number.getN3(), number.getN4(), number.getSign());
JLabel lblMessage4 = new JLabel("=");
lblMessage4.setBounds(170, 240, 100, 20);
add(lblMessage4);
genLabel();
JLabel lblMessage9 = new JLabel("=");
lblMessage9.setBounds(170, 308, 100, 20);
add(lblMessage9);
genLabel();
btnCalculate1 = new JButton("整数提交答案");
btnCalculate1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
}
});
btnCalculate1.setFont(new Font("宋体", Font.PLAIN, 20));
btnCalculate1.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
String text1 = txfInput1.getText();
boolean b = Integer.IsEqual(text1);
if (b) {
a = "正确";
genLabel();
}
if (!b) {
a = "错误,正确答案是" + Integer.getResult();
genLabel();
}
repaint();
}
});
btnCalculate1.setBounds(39, 384, 162, 39);
add(btnCalculate1);
btnCalculate2 = new JButton("小数提交答案");
btnCalculate2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
}
});
btnCalculate2.setFont(new Font("宋体", Font.PLAIN, 20));
btnCalculate2.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
String text2 = txfInput2.getText();
boolean c = Decimals.IsEqual(text2);
if (c) {
a = "正确";
genLabel();
}
if (!c) {
a = "错误,正确答案是" + Decimals.getResult();
genLabel();
}
repaint();
}
});
btnCalculate2.setBounds(286, 384, 162, 39);
add(btnCalculate2);
btnCalculate_1 = new JButton("下一题(整数部分)");
btnCalculate_1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
}
});
btnCalculate_1.setFont(new Font("宋体", Font.PLAIN, 17));
btnCalculate_1.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
integer.generateResult();
Number number = integer.getNumber();
genN1AndN2Sign(number.getN1(), number.getN2(), number.getSign());
inputBox1();
a = "";
genLabel();
repaint();
}
});
btnCalculate_1.setBounds(25, 454, 192, 39);
add(btnCalculate_1);
btnCalculate_2 = new JButton("下一题(小数部分)");
btnCalculate_2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
}
});
btnCalculate_2.setFont(new Font("宋体", Font.PLAIN, 17));
btnCalculate_2.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
decimals.generateResult();
Number number = decimals.getNumber();
genN3AndN4Sign(number.getN3(), number.getN4(), number.getSign());
inputBox2();
a = "";
genLabel();
repaint();
}
});
btnCalculate_2.setBounds(273, 454, 192, 39);
add(btnCalculate_2);
JLabel lblNewLabel = new JLabel("New label");
lblNewLabel.setIcon(new ImageIcon("C:\\Users\\19177\\Desktop\\图怪兽_4bb799f8bbe6a2a6ea588e202b03e4b8_79589.png"));
lblNewLabel.setBounds(0, 0, 524, 200);
add(lblNewLabel);
}
public void genLabel() {
if (!(lblMessage5 == null)) {
remove(lblMessage5);
}
lblMessage5 = new JLabel(a);
lblMessage5.setFont(new Font("微软雅黑",Font.BOLD,20));
lblMessage5.setBounds(139, 525, 340, 27);
add(lblMessage5);
}
public void genN1AndN2Sign(int n1, int n2, String sign) {
if (!(lblMessage1 == null && lblMessage2 == null && lblMessage3 == null)) {
remove(lblMessage1);
remove(lblMessage2);
remove(lblMessage3);
}
lblMessage1 = new JLabel(n1 + "");
lblMessage1.setFont(new Font("微软雅黑",Font.BOLD,20));
lblMessage1.setBounds(85,240, 100, 20);
add(lblMessage1);
lblMessage2 = new JLabel(sign);
lblMessage2.setFont(new Font("微软雅黑",Font.BOLD,20));
lblMessage2.setBounds(115, 240, 100, 20);
add(lblMessage2);
lblMessage3 = new JLabel(n2 + "");
lblMessage3.setFont(new Font("微软雅黑",Font.BOLD,20));
lblMessage3.setBounds(140, 240, 100, 20);
add(lblMessage3);
}
public void genN3AndN4Sign(float n3, float n4, String sign) {
if (!(lblMessage7 == null && lblMessage6 == null && lblMessage8 == null)) {
remove(lblMessage7);
remove(lblMessage6);
remove(lblMessage8);
}
lblMessage7 = new JLabel(n3 + "");
lblMessage7.setFont(new Font("微软雅黑", Font.BOLD, 15));
lblMessage7.setBounds(85,285, 150, 20);
add(lblMessage7);
lblMessage6 = new JLabel(sign);
lblMessage6.setFont(new Font("微软雅黑",Font.BOLD,20));
lblMessage6.setBounds(85, 302, 150, 20);
add(lblMessage6);
lblMessage8 = new JLabel(n4 + "");
lblMessage8.setFont(new Font("微软雅黑", Font.BOLD, 15));
lblMessage8.setBounds(85,320, 150, 20);
add(lblMessage8);
}
public void inputBox1() {
if (!(txfInput1 == null)) {
remove(txfInput1);
}
txfInput1 = new JTextField();
txfInput1.setBounds(203, 221, 179, 45);
txfInput1.setFont(new Font("微软雅黑",Font.BOLD,20));
add(txfInput1);
txfInput1.setColumns(10);
}
public void inputBox2() {
if (!(txfInput2 == null)) {
remove(txfInput2);
}
txfInput2 = new JTextField();
txfInput2.setBounds(203, 292, 179, 45);
txfInput2.setFont(new Font("微软雅黑",Font.BOLD,20));
add(txfInput2);
txfInput2.setColumns(10);
}
}
由于封面的图片如下:
运行结果:
因篇幅问题不能全部显示,请点此查看更多更全内容