西南大学面向对象程序设计作业及笔试答案

上传人:494895****12427 文档编号:75502664 上传时间:2022-04-15 格式:DOCX 页数:32 大小:179.27KB
收藏 版权申诉 举报 下载
西南大学面向对象程序设计作业及笔试答案_第1页
第1页 / 共32页
西南大学面向对象程序设计作业及笔试答案_第2页
第2页 / 共32页
西南大学面向对象程序设计作业及笔试答案_第3页
第3页 / 共32页
资源描述:

《西南大学面向对象程序设计作业及笔试答案》由会员分享,可在线阅读,更多相关《西南大学面向对象程序设计作业及笔试答案(32页珍藏版)》请在装配图网上搜索。

1、精选优质文档-倾情为你奉上1、阅读下面的程序:该程序运行的输出结果是:(C )1. A. eace2. B. PEACE3. C. ecaep4. D. ECAEP2. 、阅读下面的程序:该程序运行的输出结果是:(D )1. A. ABCDEF2. B. ABCDEF3. C. abcdef4. D. fedcba3、阅读下面的程序:该程序运行的输出结果是:(D )1. A. 1 2 2 4 82. B. 2 2 4 8 323. C. 1 4 4 16 644. D. 1 2 6 24 1204、阅读下面程序:该程序运行的输出结果是:(B )1. A. sum = 62. B. sum =

2、323. C. sum = 644. D. sum = 125、从开始执行到执行结束,小应用程序经历的3个状态分别是:(C )1. A. 初始态、就绪态,结束态2. B. 就绪态、运行态,停止态3. C. 初始态、运行态,停止态4. D. 就绪态、运行态,休眠态6、下列关于Java小应用程序(Applet)的说法中,正确的是:( A)1. A. java.applet.Applet类是所有Java小应用程序的基类2. B. Java小应用程序不需要编译3. C. Java小应用程序也需要main()方法4. D. Java小应用程序必须实现ActionListener接口7、Swing的三个顶

3、层容器分别是:(B )1. A. JApplet,JPanel,JWindow2. B. JDialog,JApplet,JFrame3. C. JApplet,JFrame4. D. JMenu5. E. JFrame,JPanel,JtextArea8、把容器划分为东、西、南、北、中5个区域的布局管理器是:(D )1. A. BoxLayout2. B. FlowLayout3. C. ardLayout4. D. BorderLayout9、下列语句序列执行之后,b1,b2,b3,b4的值分别是:(C ) String s1 = peace; String s2 = new String

4、(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);1. A. true,true,false,false2. B. false,true,true,true3. C. false,true,true,false4. D. false,true,false,false10、下列构造String的语句中,不正确的是:(D )1. A. St

5、ring str2 = ;2. B. String str1 = new String( );3. C. String str4 = + 123;4. D. String str3 = new String(123);11、下列关于构造方法的说法中,不正确的是:(B )1. A. 构造方法用于创建类的实例2. B. 构造方法不可以重载3. C. 构造方法不具有返回值类型4. D. 构造方法名必须和类名相同12、既能作为类的修饰符, 也能作为类成员的修饰符的是( A )1. A. public2. B. extends3. C. void4. D. static13、执行完下列语句后,变量x的值

6、是(D ) int x=7, y=10; switch( x/y ) case 0: x+; case 7: x*=y; case 14: x+=y; break; default: x%=y; 1. A. 82. B. 703. C. 804. D. 9014、以下由for语句构成的循环的执行次数是:(D ) for (int i=0; ijava IO 计算矩形面积 请输入长:1 请输入宽:计算矩形面积是:637答: 因为System.in.read()接收的是字节0-255。 当输入字符1以后,其实返回的是ASCII码,也就是49。然后你又按了个回车,回车的ASCII码是13。 所以,结

7、果相当于 a=49 b=13 49*13=63732、问:下面的Java程序,打印结果是什么? public class Test public static void changeStr(String str) str = welcome; public static void main(String args) String str = 1234; changeStr(str); System.out.println(str); 答:1234 33、问:下面的Java程序,编译时会报什么错误?class SuperClass public void fun() class SubClass

8、 extends SuperClass private void fun() System.out.println(SubClass:fun(); 答:错误之处:SubClass中的fun()无法覆盖 SuperClass 中的 fun();正在尝试指定更低的访问权限;为 public private void fun() 34、问:下面的代码是否能输出wangke? try System.exit(0); finally System.out.println(wangke); 答:不会输出wangke。在try-catch-finally结构中,如果执行到try代码段或catch代码段中的r

9、eturn语句,则先运行finally代码段,再运行return语句;如果执行到try代码段或catch代码段中的System.exit(0)语句,则直接退出程序,即这时finally代码段不会被执行到。35、问:String s = new String(xyz); 创建了几个String Object?答:两个对象。一个是“xyx”,一个是指向“xyx”的引用对象s。36、问:下面的Test.java程序,有哪两处错误?Class Test void f() public int i; 答:错误1:Class应改为class错误2:public int i; 应改为int i; / 局部变

10、量不能用权限修饰符、static修饰 37、问:int count = 10; count += +count; System.out.println(count); 能否通过编译?打印输出是多少?答:错误1:Class应改为class错误2:public int i; 应改为int i; / 局部变量不能用权限修饰符、static修饰 38、问:下面的Test.java程序,输出结果是derive吗?class base private void print() / 注意:private修饰 System.out.println(base); public void doprint() pr

11、int(); class derive extends base private void print() / 注意:private修饰 System.out.println(derive); class Test public static void main(String args) base b = new derive(); b.doprint(); 答:不是。输出结果是base。39、阅读下面的程序,写出程序运行的输出结果。public class Test2 public static char method(char ch) if(ch=A) & (ch=0; i-) s1 =

12、s1 + method(s.charAt(i); System.out.println(s1); 答:程序运行的输出结果是:fedcba40、阅读下面程序,并回答问题。(1)try块中包含的哪些语句或表达式可能抛出异常?(2)流DataOutputStream和DataInputStream常被用于何种操作?(3)假定文件out.txt中原本没有任何数据,这段程序执行完成后,文件out.txt的内容是什么?程序在控制台窗口输出什么?import java.io.*;public class Test4 public static void main(String args) try DataO

13、utputStream 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 (IOExc

14、eption e) System.err.println(发生异常: + e); e.printStackTrace(); 答:问题(1): 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

15、,7,8,9, 41、Java AWT程序设计:在窗口中画出三个TextField(前两个用于接收用户输入的两个整数,第三个用于显示相加和),一个加号Label,一个等于号Button. 当按下Button时,将相加之和放到第三个TextField中。注意:不允许使用内部类。答:42、阅读下面的程序,写出输出结果。public class MyException public static void throwException() System.out.println(产生并抛出ArithmeticException类型的异常); throw new ArithmeticException(

16、); public static void catchArrayException() try throwException(); System.out.println(在try语句块中的多余语句); catch(ArrayIndexOutOfBoundsException e) System.err.println(方法catchArrayException捕捉到异常); finally System.out.println(方法catchArrayException的finally语句块); System.out.println(方法catchArrayException运行结束); pu

17、blic static void main(String args) try catchArrayException(); catch(ArithmeticException e) System.err.println(方法main捕捉到异常); finally System.out.println(方法main的finally语句块); System.out.println(异常处理结束); 答:输出为产生并抛出ArithmeticException类型的异常方法catchArrayException的finally语句块方法main捕捉到异常方法main的finally语句块异常处理结束

18、43、问:下面语句中的错误都是在Java数据类型转换中的易错点。分析语句的错误原因并改正。(1) float f1 = 0.1;(2) long l1 = , l2 = ;(3) byte b1 = 1, b2 = 2, b3 = 129;(4) byte b = b1 - b2;(5)int i = 1;i = i * 0.1; / 有错(6)char c1 = a, c2 = 125;char c = c1 + c2 - 1; / 有错(7)float f1 = 0.1f, f2 = 123;float f3 = f1+f2*0.1; / 有错答:(1) float f1 = 0.1;错误

19、原因:0.1缺省为double类型改正办法:float f1 = (float)0.1; 或改为 float f1=0.1f;(2) long l1 = , l2 = ;错误原因:已经超出缺省int型的最大表示范围,必须加字母L。改正办法:long l1 = , l2 = L;(3) byte b1 = 1, b2 = 2, b3 = 129;错误原因:129在自动转换中超出范围改正办法:byte b1 = 1, b2 = 2, b3 = 127;(4) byte b = b1 - b2;错误原因:b1、b2在作运算前首先转换为int型,因此减法结果就是int型,不能直接赋值给byte型的b来

20、保存,需要强制类型转换 改正办法:byte b = (byte)(b1-b2); (5)int i = 1;i = i*0.1;错误原因:0.1是double型,i在乘法前会自动转换为double型,乘法结果也是double型,不能直接赋值为int型的i来保存,需要强制类型转换改正办法:i = (int)(i*0.1);(6)char c1=a, c2=125;char c = c1 + c2 - 1;错误原因:c1、c2在作运算前首先转换为int型,因此计算结果就是int型,不能直接赋值给char型的c来保存,需要强制类型转换改正办法:char c = (char)(c1 + c2 - 1)

21、; (7)float f1 = 0.1f, f2 = 123;float f3 = f1+f2*0.1;错误原因:由于0.1是double型,在运算前首先全部要转换为double型,因此计算结果就是double型,不能直接赋值给float型的f4来保存,需要强制类型转换改正办法:float f4 = (float)(f1+f2*0.1);44、阅读下面的程序,写出输出结果。class Parent / 静态变量 public static String p_StaticField = 父类-静态变量; / 变量 public String p_Field = 父类-变量; / 静态初始化块 s

22、tatic System.out.println(p_StaticField); System.out.println(父类-静态初始化块); / 初始化块 System.out.println(p_Field); System.out.println(父类-初始化块); / 构造器 public Parent() System.out.println(父类-构造器); public class SubClass extends Parent / 静态变量 public static String s_StaticField = 子类-静态变量; / 变量 public String s_Fi

23、eld = 子类-变量; / 静态初始化块 static System.out.println(s_StaticField); System.out.println(子类-静态初始化块); / 初始化块 System.out.println(s_Field); System.out.println(子类-初始化块); / 构造器 public SubClass() System.out.println(子类-构造器); / 程序入口 public static void main(String args) new SubClass(); 答:父类-静态变量父类-静态初始化块子类-静态变量子类-

24、静态初始化块父类-变量父类-初始化块父类-构造器子类-变量子类-初始化块子类-构造器45、请按下面的要求编写程序。(1)定义一个接口Shapes,它至少包含一个可以计算面积的成员方法。(2)编写实现该Shapes接口的两个类:正方形类和圆形类。(3)编写一个具有泛型特点的类Map,要求该类可以在控制台窗口输出某种图形的面积,而且这个类的类型变量所对应的实际类型就是(2)编写的正方形类和圆形类。(4)利用具有泛型特点的类Map在控制台窗口分别输出给定边长的正方形的面积和给定半径的圆的面积。答:46、阅读下面程序,写出程序的输出结果。class SuperClass int data; Super

25、Class() System.out.println(SuperClass:constructor: data= + data); add(1); System.out.println(SuperClass:constructor: data= + data); public void add(int i) data += i; public void print() System.out.println(data); class SubClass extends SuperClass SubClass() System.out.println(SubClass:constructor: da

26、ta= + data); add(2); System.out.println(SubClass:constructor: data= + data); public void add(int i) data += i*2; class Test public static void method(SuperClass a) a.add(6); a.print(); public static void main(String args) method(new SubClass(); 答:SuperClass:constructor: data=0SuperClass:constructor:

27、 data=2SubClass:constructor: data=2SubClass:constructor: data=61847、编写一个简单的乘法器,界面如下图所示,在第一个文本框中输入第一个乘数;在第二个文本框中输入第二个乘数;当单击“=”按钮时,在第三个文本框中输出其乘积。答:/ import语句import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Multiply extends JFrame implements ActionListener / 组件声明及创 private

28、 JButton operator = new JButton( * ); private JTextField input1 = new JTextField(5); private JTextField input2 = new JTextField(5); private JButton equal = new JButton( = ) private JTextField result = new JTextField(5); / 添加组件public Multiply () Container c = getContentPane(); c.setLayout(new FlowLay

29、out() c.add(input1); c.add(operator); c.add(input2); c.add(equal);c.add(result); equal.addActionListener(this); / 处理按钮动作事件public void actionPerformed(ActionEvent e) double operand1 = Double.valueOf(input1.getText().doubleValue(); double operand2 = Double.valueOf(input2.getText().doubleValue(); resul

30、t.setText(String.valueOf(operand1*operand2); / 设置框架属性public static void main(String args ) Multiply f = new Multiply(); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.setSize(320, 80); f.setVisible(true); 48、请设计一个软件包。要求该软件包至少拥有正方形类、圆类。要求每个类都具有构造方法、计算该图形的周长的成员方法和计算该图形的面积的成员方法。然后编写一个测试程序,分别创建这些类的

31、实例对象,并输出这些实例对象的周长和面积。在创建这些实例对象时,构造方法的调用参数值分别是: 正方形:左上定点的坐标为(5,10),边长为15。 圆形:圆心的坐标为(0,0),圆心为15。答:49、编写一个程序,要求随机生成61个学生的成绩(从0到100的整数),在将成绩排序(由高到低)后保存到文件“score.txt”中。答:50、阅读下面程序,并回答问题。(1)Java程序分为哪两种类型,这段程序是哪一类Java程序?(2)这个图形用户界面上包含那几类组件?点击按钮后程序显示什么?(3)ActionListener是什么?程序中哪个方法是ActionListener中的方法?其功能是什么?

32、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); pub

33、lic 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):Java程序分为Java应用程序(或Java applic

34、ation)和Java小应用程序(或Java applet);这段程序是Java小应用程序。问题(2):界面上包含一个标签(JLabel),一个按钮(JButton)和一个文本框(JTextField);点击按钮后,文本框内显示“好好学习,天天向上”。问题(3):ActionListener是动作事件监听器接口;方法actionPerformed()是ActionListener中的方法;其功能是处理applet界面里发生的动作事件。51、阅读下面程序,并回答问题。(1)类Test3和类SuperTest之间是什么关系?(2)关键字super和this分别是什么含义?(3)这段程序的输出是什么

35、?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

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!