php网站开发cms,id注册,南宁企业网站制作模板,做网站代码保密协议#xff08;大家好#xff0c;今天分享的是Java的相关知识#xff0c;大家可以在评论区进行互动答疑哦~加油#xff01;#x1f495;#xff09; 目录
Plug#xff1a;程序实现
方法一#xff08;记事本#xff09;
方法二#xff08;IDEA#xff09;
实验一大家好今天分享的是Java的相关知识大家可以在评论区进行互动答疑哦~加油 目录
Plug程序实现
方法一记事本
方法二IDEA
实验一算术测试
一、实验目的
二、实验要求
三、程序代码 四、实验结果 Plug程序实现
方法一记事本
新建一个记事本输入代码另存文件更改文件名名字为public class后的名字.javaHello.java更改保存类型选择所有文件选择编码格式一般选择ANSI 或 UTF-8在编译时需加上固定格式-encoding utf-8)(这里我们选择UTF-8 方法二IDEA
新建java文件输入代码编译运行
相较简便一些
实验一算术测试
一、实验目的
本实验的目的是让学生学习处理ActionEvent事件。
二、实验要求
编写一个算术测试小软件用来训练小学生的算术能力。程序由3个类组成其中Teacher类对象负责给出算术题目并判断回答者的答案是否正确ComputerFrame类对象提供的GUI界面看到题目并通过该GUI界面给出题目的答案MailClass是主类。。
三、程序代码
ComputerFrame.java
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;public class ComputerFrame extends JFrame {private Teacher teacher;private JTextField num1Field;private JTextField operatorField;private JTextField num2Field;private JTextField answerField;private JLabel resultLabel;private String[] currentQuestion; // 保存当前题目的数组public ComputerFrame(Teacher teacher) {this.teacher teacher;setTitle(算术训练);setSize(500, 150);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setLocationRelativeTo(null);// 设置布局setLayout(new FlowLayout());// 显示题目框num1Field new JTextField(5);num1Field.setEditable(false);add(num1Field);operatorField new JTextField(2);operatorField.setEditable(false);add(operatorField);num2Field new JTextField(5);num2Field.setEditable(false);add(num2Field);// 用户输入答案框answerField new JTextField(10);add(answerField);// 获取题目按钮JButton getQuestionButton new JButton(获取题目);getQuestionButton.addActionListener(new ActionListener() {Overridepublic void actionPerformed(ActionEvent e) {currentQuestion getRandomQuestion();num1Field.setText(currentQuestion[0]);operatorField.setText(currentQuestion[1]);num2Field.setText(currentQuestion[2]);resultLabel.setText(); // 清空结果}});add(getQuestionButton);// 确认答案按钮JButton checkAnswerButton new JButton(确认答案);checkAnswerButton.addActionListener(new ActionListener() {Overridepublic void actionPerformed(ActionEvent e) {String userAnswer answerField.getText();boolean isCorrect teacher.checkAnswer(currentQuestion, userAnswer);if (isCorrect) {resultLabel.setText(你回答正确);} else if (userAnswer.isEmpty() || !userAnswer.matches(-?\\d)) {resultLabel.setText(请输入数字字符);} else {resultLabel.setText(你回答错误);}}});add(checkAnswerButton);// 结果显示框resultLabel new JLabel();add(resultLabel);setVisible(true);}private String[] getRandomQuestion() {// 根据简单模式或困难模式随机选择int mode JOptionPane.showOptionDialog(this, 请选择模式, 模式选择, JOptionPane.DEFAULT_OPTION,JOptionPane.INFORMATION_MESSAGE, null, new String[]{简单模式, 困难模式}, 简单模式);if (mode 0) {return teacher.generateSimpleQuestion(); // 简单模式} else {return teacher.generateDifficultQuestion(); // 困难模式}}
}Teacher.java
import java.util.Random;public class Teacher {private Random random;public Teacher() {random new Random();}// 生成简单模式的加减题目public String[] generateSimpleQuestion() {int num1 random.nextInt(100);int num2 random.nextInt(100);String operator random.nextBoolean() ? : -;return new String[]{String.valueOf(num1), operator, String.valueOf(num2)};}// 生成困难模式的乘除题目public String[] generateDifficultQuestion() {int num1 random.nextInt(1, 100); // 除数不为0int num2 random.nextInt(1, 100);String operator random.nextBoolean() ? * : /;return new String[]{String.valueOf(num1), operator, String.valueOf(num2)};}// 判断答案是否正确public boolean checkAnswer(String[] question, String answer) {int num1 Integer.parseInt(question[0]);String operator question[1];int num2 Integer.parseInt(question[2]);int correctAnswer 0;switch (operator) {case :correctAnswer num1 num2;break;case -:correctAnswer num1 - num2;break;case *:correctAnswer num1 * num2;break;case /:correctAnswer num1 / num2;break;}try {int userAnswer Integer.parseInt(answer);return userAnswer correctAnswer;} catch (NumberFormatException e) {return false; // 输入的不是数字}}
}
MainClass.java
public class MainClass {public static void main(String[] args) {Teacher teacher new Teacher(); // 创建老师对象new ComputerFrame(teacher); // 创建并显示GUI界面}
} 四、实验结果 今日分享暂时到此为止啦为不断努力的自己鼓鼓掌吧。今日文案分享所有失去的会以另一种方式归来。