实验目的:
编写一个算数测试小软件
实验代码:
package com.java.shiYiZhou;
import java.awt.*;
import java.awt.event.*;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
public class ComputerFrame extends JFrame
implements ActionListener{
int number1, number2, number3;
JLabel label1, label2;
JTextField text1, text2, text3;
Button buttonGetNumber, buttonEnter;
ComputerFrame(String s){
super(s);
setLayout(new FlowLayout());
buttonGetNumber = new Button("获取题目");
add(buttonGetNumber);
text1 = new JTextField(10);
add(text1);
label2 = new JLabel("+");
add(label2);
text2 = new JTextField(10);
add(text2);
label1 = new JLabel("=");
add(label1);
text3 = new JTextField(10);
add(text3);
buttonEnter = new Button("确认答案");
add(buttonEnter);
buttonEnter.addActionListener(this);
buttonGetNumber.addActionListener(this);
label2 = new JLabel("你还没有答案呢 ");
add(label2);
setBounds(500, 100, 500, 150);
setVisible(true);
validate();
}
public void actionPerformed(ActionEvent e){
if(e.getSource() == buttonGetNumber){
number1 = (int)(Math.random() * 100) + 1;
number2 = (int)(Math.random() * 100) + 1;
text1.setText(String.valueOf(number1));
text2.setText(String.valueOf(number2));
}
else if(e.getSource() == buttonEnter){
number3 = Integer.parseInt(text1.getText()) + Integer.parseInt(text2.getText());
if(Integer.parseInt(text3.getText()) == number3){
label2.setText("你回答正确");
}
else{
label2.setText("你回答错误");
}
}
}
}
package com.java.shiYiZhou;
public class Text {
public static void main(String[] args) {
ComputerFrame computerframe = new ComputerFrame("MyComputer");
}
}
实验结果:
实验心得:
渐渐的开始感觉Java编程有些难度了,以前因为有上一年C++编程积累的经验,所以,还能照葫芦画瓢的解决问题,可是,自从进入第六章之后就不一样了,开始逐渐的牵扯到一些类中的方法,果然不练是很难掌握的,第七章之后就更是陌生而困难重重了,开始到窗口的设计上,这可是C++中没有的东西,一切都是新的的事物,理解和操作起来都会有些吃力,应该还是代码写少了的关系吧。
就这个实验来说,从窗口的设计,部件的添加,再到事件的添加,都是新鲜的东西,所以啊,不得不承认,课本看不好,例题不下工夫是不行的,因此,实验报告中有很多逻辑不清晰的地方,在实现上也很单一,像是只能实现加法啦,还有对于异常的处理都很不完善,看来,真的是要多加把心了,以后会交出改进版本的。