(0837)《面向对象程序设计》网上作业题及答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(0837)《面向对象程序设计》网上作业
题及答案
1:第一次作业
2:第二次作业
3:第三次作业
4:第四次作业
5:第五次作业
6:第六次作业
1:[论述题]
编写一个简单的乘法器,界面如下图所示,在第一个文本框中输入第一个乘数;在第二个文本框中输入第二个乘数;当单击"=”按钮时,在第三个文本框中输出其乘积。

参考答案:问题(1):Java程序分为Java应用程序(或Java application)和Java小应用程序(或Java applet);这段程序是Java小应用程序。

问题(2):界面上包含一个标签(JLabel),一个按钮(JButton)和一个文本框(JTextField);点击按钮后,文本框内显示“好好学习,天天向上”。

问题(3):ActionListener是动作事件监听器接口;方法actionPerformed()是ActionListener中的方法;其功能是处理applet界面里发生的动作事件。

2:[论述题]请设计一个软件包。

要求该软件包至少拥有正方形类、圆类。

要求每个类都具有构造方法、计算该图形的周长的成员方法和计算该图形的面积的成员方法。

然后编写一个测试程序,分别创建这些类的实例对象,并输出这些实例对象的周长和面积。

在创建这些实例对象时,构造方法的调用参数值分别是:
正方形:左上定点的坐标为(5,10),边长为15。

圆形:圆心的坐标为(0,0),圆心为15。

参考答案:
问题(1):Test3是SuperTest的子类(或SuperTest是Test3的父类,或继承关系)。

问题(2):super指对象的父类(或超类);this指使用它的对象本身(或对对
象自己的引用)。

问题(3):程序的输出是:
Hi, I am Olive
Nice to meet you!
Age is 7
My age is 7
My parent's age is 35
3:[论述题]编写一个程序,要求随机生成61个学生的成绩(从0到100的整数),在将成绩排序(由高到低)后保存到文件"score.txt”中。

参考答案:
问题(1):Test3是SuperTest的子类(或SuperTest是Test3的父类,或继承关系)。

问题(2):super指对象的父类(或超类);this指使用它的对象本身(或对对象自己的引用)。

问题(3):程序的输出是:
Hi, I am Olive
Nice to meet you!
Age is 7
My age is 7
My parent's age is 35
1:[论述题]
阅读下面程序,并回答问题。

(1)try块中包含的哪些语句或表达式可能抛出异常?
(2)流DataOutputStream和DataInputStream常被用于何种操作?
(3)假定文件out.txt中原本没有任何数据,这段程序执行完成后,文件out.txt 的内容是什么?程序在控制台窗口输出什么?
import java.io.*;
public class Test4 {
public static void main(String args[]) {
try {
DataOutputStream dout = new DataOutputStream( new
FileOutputStream("out.txt"));
for (int i = 0; i < 10; i++)
dout.writeInt('0' + i);
dout.close();
DataInputStream din = new DataInputStream(
new
FileInputStream("out.txt"));
for (int i = 0; i < 10; i++)
System.out.print(din.readInt() - '0' + ", ");
din.close();
} catch (IOException e) {
System.err.println("发生异常:" + e);
e.printStackTrace();
}
}
}
参考答案:
2:[论述题]
阅读下面程序,并回答问题。

(1)Java程序分为哪两种类型,这段程序是哪一类Java程序?
(2)这个图形用户界面上包含那几类组件?点击按钮后程序显示什么?
(3)ActionListener是什么?程序中哪个方法是ActionListener中的方法?其功能是什么?
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Test4 extends JApplet implements ActionListener{
private Container cp = getContentPane();;
private JLabel prompt = new JLabel("请点击按钮");
private JButton start = new JButton("开始");
private JTextField output = new JTextField(20);
public void init( ){
cp.setLayout(new FlowLayout());
cp.add(start);
cp.add(prompt);
cp.add(output);
output.setEditable(false);
start.addActionListener(this);
}
public void actionPerformed(ActionEvent e){
if ((JButton)e.getSource( ) == start )
output.setText("好好学习,天天向上"); }
}
参考答案:问题(1):try块中下面的语句可能抛出异常:
new FileOutputStream("out.txt");
dout.writeInt( '0' + i);
dout.close( );
new FileInputStream("out.txt");
din.readInt( )
din.close( );
问题(2):常被用于读取与存储(读写或输入/输出)基本数据类型的数据。

问题(3):
文件out.txt的内容是:0 1 2 3 4 5 6 7 8 9
程序在控制台窗口输出:0,1,2,3,4,5,6,7,8,9,
3:[论述题]
阅读下面程序,并回答问题。

(1)类Child和类Parent之间是什么关系?
(2)关键字super和this分别是什么含义?
(3)这段程序的输出是什么?
class Parent{
public void printMe( ){
System.out.println("parent");
}
}
class Child extends Parent{
public void printMe( ){
System.out.println("child");
}
public void printAll( ){
super.printMe( );
this.printMe( );;
}
}
public class Test3{
public static void main(String args[ ]){
Child myC = new Child( );
myC.printAll( );
}
}
参考答案:
问题(1):Child是Parent的子类(或Parent是Child的父类,或继承关系)。

问题(2):super指对象的父类(或超类);this指使用它的对象本身(或对对象自己的引用)。

问题(3):程序的输出是:
parent
child
4:[论述题]
阅读下面程序,并回答问题。

(1)类Test3和类SuperTest之间是什么关系?
(2)关键字super和this分别是什么含义?
(3)这段程序的输出是什么?
class SuperTest {
public int age;
public SuperTest(String s) {
System.out.println("Hi, I am " + s);
age = 35;
}
}
public class Test3 extends SuperTest {
public int age;
public Test3(String s) {
super(s);
System.out.println("Nice to meet you!");
age = 7;
}
public void print() {
System.out.println("Age is " + age);
System.out.println("My age is " + this.age);
System.out.println("My parent's age is " + super.age); }
public static void main(String args[]) {
Test3 test = new Test3("Olive");
test.print();
}
}
参考答案:
问题(1):Child是Parent的子类(或Parent是Child的父类,或继承关系)。

问题(2):super指对象的父类(或超类);this指使用它的对象本身(或对对象自己的引用)。

问题(3):程序的输出是:
parent
child
1:[单选题]
阅读下面的程序:
该程序运行的输出结果是:()
A:peace
B:PEACE
C:ecaep
D:ECAEP
参考答案:C
2:[单选题]
阅读下面的程序:
该程序运行的输出结果是:()A:0123456789ABCDEF
B:ABCDEF0123456789
C:0123456789abcdef
D:fedcba9876543210
参考答案:D
3:[单选题]
阅读下面程序:
该程序运行的输出结果是:()A:sum = 6
B:sum = 12
C:sum = 32
D:sum = 64
参考答案:C
4:[单选题]
阅读下面的程序:
该程序运行的输出结果是:()
A:1 2 2 4 8
B:2 2 4 8 32
C:1 4 4 16 64
D:1 2 6 24 120
参考答案:D
1:[单选题]从开始执行到执行结束,小应用程序经历的3个状态分别是:()A:初始态、就绪态,结束态
B:就绪态、运行态,停止态
C:初始态、运行态,停止态
D:就绪态、运行态,休眠态
参考答案:C
2:[单选题]下列关于Java小应用程序(Applet)的说法中,正确的是:()A:java.applet.Applet类是所有Java小应用程序的基类
B:Java小应用程序不需要编译
C:Java小应用程序也需要main()方法
D:Java小应用程序必须实现ActionListener接口
参考答案:A
3:[单选题]Swing的三个顶层容器分别是:()
A:JApplet,JPanel,JWindow
B:JDialog,JApplet,JFrame
C:JApplet,JFrame, JMenu
D:JFrame,JPanel,JTextArea
参考答案:B
4:[单选题]把容器划分为东、西、南、北、中5个区域的布局管理器是:()A:BoxLayout
B:FlowLayout
C:CardLayout
D:BorderLayout
参考答案:D
1:[单选题]
下列语句序列执行之后,b1,b2,b3,b4的值分别是:()
String s1 = "peace";
String s2 = new String(s1);
String s3 = s2;
String s4 = new String("PEACE");
boolean b1 = (s1 == s2);
boolean b2 = s1.equals(s2);
boolean b3 = (s3 == s2);
boolean b4 = s4.equals(s3);
A:true,true,false,false
B:false,true,true,true
C:false,true,true,false
D:false,true,false,false
参考答案:B
2:[单选题]
下列语句序列给出了k,myArr和myMethod()的声明。

当调用方法myMethod(myArr,k)之后,存储在k和myArr里的值分别是:()
int k = 7;
String myArr[] = { "love", "peace", "and" };
void myMethod(String a[], int m) {
String temp = a[1];
a[1] = a[2];
a[2] = temp;
m = a[2].length();
}
A:{"peace","love","and"},4
B:{"peace","love","and"},7
C:{"love","and","peace"},5
D:{"love","and","peace"},7
参考答案:D
3:[单选题]下列构造String的语句中,不正确的是:()
A:String str2 = "" ;
B:String str1 = new String( );
C:String str4 = "" + 123;
D:String str3 = new String(123);
参考答案:D
4:[单选题]下列关于构造方法的说法中,不正确的是:()
A:构造方法用于创建类的实例
B:构造方法不可以重载
C:构造方法不具有返回值类型
D:构造方法名必须和类名相同
参考答案:B
5:[单选题]既能作为类的修饰符, 也能作为类成员的修饰符的是()A:public
B:extends
C:void
D:static
参考答案:A
1:[单选题]
以下由for语句构成的循环的执行次数是:()
for (int i=0; i<=0; i=i) ;
A:有语法错,不能执行
B:一次也不执行
C:执行1次
D:无限次
参考答案:D
2:[单选题]
执行下列语句后,变量x的值是:()
int x = 7, y = 10;
switch (x / y) {
case 0:
x++;
case 7:
x *= y;
case 14:
x += y;
break;
default:
x %= y;
}
A:8
B:70
C:80
D:90
参考答案:D
3:[单选题]设有定义int i=7;char ch='b'; 下面赋值语句中不正确是:()
A:i = ch;
B:ch = i;
C:ch = (char)i;
D:i = (int)ch;
参考答案:B
4:[单选题]设有定义int i=80, j=7; double d=80.7;下列语句中正确的赋值语句是:()A:i = d;
B:i = (int)d + j;
C:j = (int)i - d;
D:i + j = (int)d;
参考答案:B
5:[单选题]以下关于Java语言的叙述错误的是:()
A:Java是最纯粹的面向对象语言,对面向对象方法学的支持也最全面
B:Java是解释执行的语言,由Java解释器负责将Java源文件解释为机器码执行
C:Java是平台无关的,即Java程序不用修改就可以在不同类型的计算机平台上运行
D:Java提供了大量功能丰富的可重用类库,有效减少了编程的工作量
参考答案:B
6:[单选题]Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序"一次编写,到处运行”的特点:()
A:多线程
B:与平台无关
C:面向对象
D:分布式
参考答案:B
7:[单选题]下列选项中,用于声明实现一个接口关键字是:()A:interface
B:implements
C:import
D:abstract
参考答案:B
8:[单选题]下列不属于Java语言关键字的是:()
A:repeat
B:try
C:break
D:new
参考答案:A
9:[单选题]下列字符序列中可以作为Java语言标识符的是:()A:true
B:123_xyz
C:x.y
D:_x123
参考答案:D
10:[单选题]下列字符序列中不能作为Java语言标识符的是:()A:abc_123
B:圆周率PI
C:false
D:_123abc
参考答案:C。

相关文档
最新文档