当前位置:首页 > Java面向对象程序设计复习题附答案
...
【代码 3】_____giveAnwser.addActionListener( 为giveAnwser 的ActionEvent 事件监视器
teacherZhang); ___//将teacherZhang注册
teacherZhang); __//将teacherZhang
【代码 4】__________textResult.addActionListener( 注册为 textResult的ActionEvent 事件监视器
setVisible(true); validate();
setDefaultCloseOperation(DISPOSE_ON_CLOSE); } }
Teacher.java
import java.util.Random; import java.awt.event.*; import javax.swing.*;
public class Teacher implements ActionListener {
int numberOne,numberTwo; String operator=\boolean isRight;
Random random; //用于给出随机数 int maxInteger;
//题目中最大的整数
JTextField textOne,textTwo,textResult; JLabel operatorLabel,message; Teacher() {
random = new Random(); }
public void setMaxInteger(int n) {
maxInteger=n; }
public void actionPerformed(ActionEvent e) {
String str = e.getActionCommand(); if(str.equals(\
numberOne = random.nextInt(maxInteger)+1;//1 至maxInteger之间的随机数numberTwo=random.nextInt(maxInteger)+1; double d=Math.random(); // 获取(0,1)之间的随机数 if(d>=0.5)
operator=\else
operator=\
textOne.setText(\textTwo.setText(\operatorLabel.setText(operator); message.setText(\请回答 \textResult.setText(null); }
else if(str.equals(\
...
; ...
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]; } }
2. 有如下 java源程序,程序的功能是在数组中查找键盘键入的整数。如果找到则 输出该整数在数组中的序号,否则输出“
not found”。例如,运行程序,输入 99,程序
Java程序代码。(注意:
输出: 99在数组中的序号是 5;输入 59,程序输出: not found。 仔细阅读程序代码,请按模板要求,在【代码】处填写合适的 不改动程序的结构,不得增行或删行)。 import java.io.*; import java.util.Scanner; public class J_Test {
public static void main(String[] args) throws IOException {
int 【代码 1】________a[]___ __________ = {83,75,92,67,55,99,78,61}; Scanner in = new Scanner(【代码 2】___System.in_________________); int x = Integer.parseInt( 【代码 3】__________in.readLine()___ ______); int index = -1;
for(int i = 0; 【代码 4】___i<=a..Length _____________________; ++i) {
...
...
if(a[i] == x) { index = i; break; } }
if( 【代码 5】_____index==-1__ __________________________) System.out.println(\else
System.out.println(x + \在数组中的序号是 \} }
9. 下面程序的运行结果如下图。单击“
Close”按钮关闭窗口。
请阅读程序,在( 1)和( 2)处补充相应的内容,使整个程序能够正常运行。 import java.awt.*; import java.awt.event.*; import javax.swing.*; public class J_Test {
private JFrame f;
private JButton button1, button2, button3; public void go() {
f = new JFrame(\f.setLayout(new FlowLayout()); button1 = new JButton(\button2 = new JButton(\button3 = new JButton(\f.add(button1); f.add(button2); f.add(button3);
____ button3.addActionListener(new Monitor()); _ _______ f.setSize(160, 106);
f.setVisible(true); }
public static void main(String[] args) { J_Test t = new J_Test(); t.go(); } }
class Monitor implements ActionListener {
...
...
________ public void actionPerformed(ActionEvent e)_ _____ { System.exit(0); } } Answer:
(1)button3.addActionListener(new Monitor()); (2)public void actionPerformed(ActionEvent e) 五、编程题
1. 编写一个计算图形面积的程序,程序应当能够计算并输出矩形、圆的面积。考虑到程 序的未来扩展,
设计一个图形抽象类: Shape,在此基础上派生出图形类 (1)Rectangle 类基本信息:宽度、高度。 (2)Cirlce 类基本信息:圆心坐标、半径。
(3)每个图形类有多个构造方法: 默认构造方法、 带参数的构造方法; 成员变量为 private 属性,成员方法为 public 属性。 (4)每个图形类有计算图形面积 以及访问方法 set/get。
getArea()方法,显示图形的基本信息
toString() 方法,
Rectangle 类和 Circle 类。
...
共分享92篇相关文档