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

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

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

1、1、阅读下面的程序:pulkJ_ic cJ_a.ss Test-2 (puliXicTnethod(String a) 5ttiiiqBuffur uesuL = itevf 5匚LinjEufHut ” ; or (int 1c = s. length() - 1; k = 0; k一一)( result. append Cs. ctiauAC (k);) return result.tostring();public static void main(String argsJ) ITest-2 t.est = netr Test C) * String str = rrpeac?err;S

2、ystem.out.printIn(test.method(str) ; ) 该程序运行的输出结果是:(C )ri1. A. eace2. 仁 b. PEACEn3. C. ecaep4. D. ECAEP2. I、阅读下面的程序:public clAs s Test2 uhlc static char tnetho d (char ch.)( if ( (ell = A J( cil ; i一)si = si + 2M thod(s,charAt(i);System.out.printIn(s1);该程序运行的输出结果是:( D )r1. A. 0123456789ABCDEFr2. B.A

3、BCDEF01234567893. C. 0123456789abcdef3、阅读下面的程序:puhlic cla.es Tescl ( piiblic in.t met-hod (int n) in.t result = 1;tor (int L = 1; i = n; i+十J result-才=i; return resultspublic static void m亳Ln1序匚ting atgs) tTesti 匚仁3匚=new Testi ();int sum = new lnt6;ior (int 1=1; i = 5* i+4) E swn 1 = testinethodi) S

4、ystem.out,pulnt(sumi十 n J;)该程序运行的输出结果是:(D )A. 1 2 2 4 8B. 2 2 4 8 32C. 1 4 4 16 64D. 1 2 6 24 1204、阅读下面程序:juhlic cass Testi (jilbllc int method (iJit 力) int result = 1;or (int 1 = 1; i = n; i+) result fl= n;) return result;Bubllo static void itialn (Str ing args ) Test 1 test = urn/ Tes11();int s um

5、 - 0;Xor (int 1 = 1; i - 3; i+) sum += test.itierhod(i);System, out.printlnfsum = rr + sum);A. sum = 6B. sum = 32C. sum = 64D. sum = 12该程序运行的输出结果是:(1.2.3.4.1.A.初始态、就绪态,结束态2.rB.就绪态、运行态,停止态3.cC.初始态、运行态,停止态4.D.就绪态、运行态,休眠态5、从开始执行到执行结束,小应用程序经历的3个状态分别是:(6、下列关于Java小应用程序(Applet )的说法中,正确的是:( A)1. 。 A. java.a

6、pplet.Applet类是所有Java小应用程序的基类2. 。B.Java小应用程序不需要编译3. CC. Java小应用程序也需要 main()方法4. D.Java小应用程序必须实现 ActionListener接口7、Swing的三个顶层容器分别是:( B ) r 1.A. JApplet , JPanel , JWindow2. BB. JDialog , JApplet , JFrame3. C. JApplet , JFrame4. D. JMenu5.E. JFrame , JPanel , JtextArea8、把容器划分为东、西、南、北、中5个区域的布局管理器是:(1. A

7、. BoxLayout2. B. FlowLayout3. C. ardLayout4. D. BorderLayout9、下列语句序列执行之后,b1, b2, b3, b4的值分别是:(String si = peace;String s2 = new String(si);String s3 = s2;String s4 = new String(PEACE);boolean bi = (si = s2);boolean b2 = s1.equals(s2);boolean b3 = (s3 = s2);boolean b4 = s4.equals(s3);1.A. true,true ,

8、 false , false2.B. false,true , true , true3.C. false,true , true , false4.D. false,true , false , false10、下列构造String的语句中,不正确的是:(1.A. String str2 =;2.B. String strl = new String();3.C. String str4 = + 123;4.D. String str3 = new String(123);11、下列关于构造方法的说法中,不正确的是:(1.A.构造方法用于创建类的实例2.B.构造方法不可以重载C.构造方法不具

9、有返回值类型3.12、既能作为类的修饰符,也能作为类成员的修饰符的是(1. * A A. public2. T | B. extends3. C. void4. D. static5. 、执行完下列语句后,变量 x的值是( 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. Llc. 804. QD. 9014、以下由for语句构成的循环的执行次数是:(D )for (int i=0; ijava IO 计算矩形面积 请输入长:1 请输入

10、宽:计算矩形面积是:637答:因为System.in.read()接收的是字节 0-255。当输入字符1以后,其实返回的是 ASCII码,也就是49。然后你又按了个回车,回车的ASCII 码是 13。所以,结果相当于a=49b=1349*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.ou

11、t.println(str); 答:123433、问:下面的Java程序,编译时会报什么错误? class SuperClass public void fun() class SubClass extends SuperClass private void fun() System.out.print n(SubClass:fun(); 答:错误之处:SubClass中的fun()无法覆盖 SuperClass中的fun();正在尝试指定更低的访问权限;为 public private void fun() 34、问:下面的代码是否能输出wangke?try System.exit(0);

12、finally System.out.println(wangke); 答:不会输出 wangke。在 try-catch-finally 结构中,如果执行到try代码段或catch代码段中的return语句,则先运行finally代码段,再运行 return语句;如果执行到try代码段或catch代码段中的System.exit(0)语句,则直接退出程序,即这时 finally 代码段不会被执行到。35、问:String s = new String(xyz);创建了几个 String Object?答:两个对象。一个是 “ xyx,二个是指向“ xyxB勺引用又t象s。36、问:下面的Te

13、st.java 程序,有哪两处错误?Class Test void f() public int i; 答:错误1: Class应改为class错误2: public int i;应改为int i; /局部变量不能用权限修饰符、static修饰37、问:int count = 10; count += +count; System.out.println(count);能否通过编译?打印输出是多少?答:错误1: Class应改为class错误2: public int i;应改为int i; /局部变量不能用权限修饰符、static修饰38、问:下面的Test.java 程序,输出结果是 de

14、rive吗? class base private void print() / 注意:private 修System.out.println(base); public void doprint() print(); / 注意:private 修饰class derive extends base private void print() System.out.println(derive); class Test public static void main(String口 args) base b = new derive();b.doprint();答:不是。输出结果是 base。3

15、9、阅读下面的程序,写出程序运行的输出结果。public class Test2 public static char method(char ch) if(ch=A) & (ch=0; i-)s1 = s1 + method(s.charAt(i);System.out.println(s1);答:程序运行的输出结果是:fedcba987654321040、阅读下面程序,并回答问题。(1) try块中包含的哪些语句或表达式可能抛出异常?(2)流 DataOutputStream 和 DataInputStream 常被用于何种操作?(3)假定文件out.txt中原本没有任何数据,这段程序执行

16、完成后,文件 out.txt的内容是什么?程序 在控制台窗口输出什么?import java.io.*;public class Test4 public static void main(String args口)try DataOutputStream dout = new DataOutputStream(new (out.txt);for (int i = 0; i 10; i+)dout.writeInt(0 + i);dout.close();DataInputStream din = new DataInputStream(new(out.txt);for (int i = 0;

17、 i 10; i+)System.out.print(din.readInt()-0 + ,);din.close(); catch (IOException e) System.err.println(发生异常:+ e);e.printStackTrace();答:问题(1):new ( out.txt ”)dout.writeInt( 0 + i);dout.close();new ( out.txt ”)din.readInt( ) _ din.close();问题(2):常被用于读取与存储(读写或输入/输出)基本数据类型的数据。问题(3):文件out.txt的内容是:0 1 2 3 4

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

19、Exception类型的异常);throw new ArithmeticException();public static void catchArrayException() try throwException(); System.out.println(在try语句块中的多余语句 ); catch(ArrayIndexOutOfBoundsException e) System.err.println(方法 catchArrayException捕捉至U异常); finally System.out.println( 方法 catchArrayException 的 finally语句块

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

21、chArrayException 的 finally 语句块方法main捕捉到异常方法 main的finally语句块异常处理结束43、问:下面语句中的错误都是在Java数据类型转换中的易错点。分析语句的错误原因并改正。(1) float f1 = 0.1;(2) long l1 = 12345678, l2 = 8888888888;(3) byte b1 = 1, b2 = 2, b3 = 129;(4) byte b = b1 - b2;|int i = 1;|i = i * 0.1;/ 有错(6)char c1 = a, c2 = 125;|char c = c1 + c2 - 1;/

22、 有错float f1 = 0.1f, f2 = 123;float f3 = f1+f2*0.1;/ 有错答:(1) float f1 = 0.1; 错误原因:0.1缺省为double类型改正办法:float fl = (float)0.1;或改为 float f1=0.1f; 10ng 11 = 12345678, 12 = 8888888888;错误原因:8888888888已经超出缺省int型的最大表示范围,必须加字母L。改正办法:long 11 = 12345678, 12 = 8888888888L;(3) byte b1 = 1, b2 = 2, b3 = 129;错误原因:12

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

24、 = c1 + c2 - 1;错误原因:c1、c2在作运算前首先转换为int型,因此计算结果就是int型,不能直接赋值给char型的c来保存,需要强制类型转换改正办法:char c = (char)(c1 + c2 - 1);float f1 = 0.1f, f2 = 123;float f3 = f1+f2*0.1;错误原因:由于 0.1是double型,在运算前首先全部要转换为double型,因此计算结果就是double型,不能直接赋值给float型的f4来保存,需要强制类型转换改正办法:float f4 = (f1oat)(f1+f2*0.1);44、阅读下面的程序,写出输出结果。cla

25、ss Parent /静态变量父类-静态变量;public static String p_StaticFie1d =public String p_Field =父类-变量/静态初始化块static System.out.println(p_StaticField);System.out.println( 父类一静态初始化块);/初始化块System.out.println(p_Field);System.out.println( 父类一初始化块);/ 构造器public Parent() System.out.println( 父类一构造器)public class SubClass ex

26、tends Parent /静态变量public static String s_StaticField =子类-静态变量public String s_Field =子类-变量/静态初始化块static System.out.println(s_StaticField);System.out.println( 子类一静态初始化块);/初始化块System.out.println(s_Field);System.out.println( 子类一初始化块);/ 构造器public SubClass() System.out.println( 子类一构造器)/ 程序入口public static

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

28、的面积和给定半径的圆的面积。答:46、阅读下面程序,写出程序的输出结果。class SuperClass int data;SuperClass() |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 S

29、uperClass SubClass() System.out.println(SubClass:constructor: data= + 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 SubClas

30、s();答:SuperClass:constructor: data=0SuperClass:constructor: data=2SubClass:constructor: data=2SubClass:constructor: data=6 1847、编写一个简单的乘法器,界面如下图所示,在第一个文本框中输入第一个乘数;在第二个文本框中输入第二个乘数;当单击“=”按钮时,在第三个文本框中输出其乘积。答:/ import 语句import javax.swing.*;import java.awt.*;import java.awt.event.*; public class Multipl

31、y extends JFrame implements ActionListener/组件声明及创private JButton operator = new JButton( * );private JTextField inputl = new JTextField(5);private JTextField input2 = new JTextField(5);private JButton equal = new JButton( = )private JTextField result = new JTextField(5);/添加组件public Multiply () Conta

32、iner c = getContentPane();c.setLayout(new FlowLayout()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.valu

33、eOf(input2.getText().doubleValue();result.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、请设计一个软件包。要求该软件包至少拥有正方形类、圆类。要求每个类都具有构造方法、计算该图形的周长的成员方法

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

35、么?程序中哪个方法是ActionListener 中的方法?其功能是什么?import javax.swing.*; Iimport java.awt.*;import java.awt.event.*;public class Test4 extends JApplet implements ActionListenerprivate Container cp = getContentPane();private JLabel prompt = new JLabel(请点击按钮);private JButton start = new JButton(开始);private JTextFie

36、ld 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 )Ioutput.setText(好好学习,天天向上);参考答案:问题(1) : Ja

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

38、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; Ipublic Test3(String s) super(s);System.out.println(Nice to meet you!);age = 7;public void print() System.out.

39、println(Age is + age);System.out.println(My age is + this.age);System.out.println(My parents age is + super.age);public static void main(String args口)Test3 test = new Test3(Olive);test.print(); 答:问题(1) : Test3是SuperTest的子类(或 SuperTest是Test3的父类,或继承关系) 问题(2) : super指对象的父类(或超类); this指使用它的对象本身(或对对象自己的引

40、用)。问题(3):程序的输出是:Hi, I am OliveNice to meet you!Age is 7My age is 7My parents age is 3552、程序设计:在命令行中以树状结构展现给定的文件夹及其子文件(夹)中的文件。测试文件夹为C:Windows,层次用缩进4个空格表示。答:import java.io.*;public class public static void main(String口 args) File f = new File(C: + + Windows);listFiles(f,0);)static void listFiles(File

41、f, int level) String preStr =;for(int i=0; ilevel; i+) preStr +=;)System.out.println(preStr + f.getName(); / 先序遍历I-File files = f.listFiles(); /取出所有儿子节点for (int i=0; i; i+) if (filesi.isFile() System.out.println(preStr + + filesi.getName();)if (filesi.isDirectory() listFiles(filesi, level + 1);)53、写

42、出下面程序的执行结果。public class Intern public static void main(String口 args) String si = 123456; /字符串直接量String s2 = 123456; /字符串直接量String s3 = 123 + 456;String a0 = 123;String s4 = a0 + 456; /这不是字符串直接量String s5 = new String(123456); /这不是字符串直接量String s6 = s5.intern();System.out.println(s2 + (s2=s1) ? = : !=)

43、 +s1);System.out.println(s3 + (s3=s1) ? = : !=) +s1);System.out.println(s4 + (s4=s1) ? = : !=) +s1);System.out.println(s5 + (s5=s1) ? = : !=) +s1);System.out.println(s6 + (s6=s1) ? = : !=) +s1);答:输出为s2=s1s3=s1s4=s1s5=s1s6=s154、问:下面程序的执行结果是什么?class Test public static void main(String口 args) int sum = 0;outer:for(int i=1; i10; i+) |inner:for(int j=1; j 6)c

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