[0837]作业《面向对象程序设计》

上传人:gbs****77 文档编号:9849392 上传时间:2020-04-08 格式:DOCX 页数:35 大小:175.33KB
返回 下载 相关 举报
[0837]作业《面向对象程序设计》_第1页
第1页 / 共35页
[0837]作业《面向对象程序设计》_第2页
第2页 / 共35页
[0837]作业《面向对象程序设计》_第3页
第3页 / 共35页
点击查看更多>>
资源描述
1 阅读下面的程序 该程序运行的输出结果是 c 1 A eace 2 B PEACE 3 C ecaep 4 D ECAEP 2 阅读下面的程序 该程序运行的输出结果是 D 1 A 0123456789ABCDEF 2 B ABCDEF0123456789 3 C 0123456789abcdef 4 D fedcba9876543210 3 阅读下面的程序 该程序运行的输出结果是 D 1 A 1 2 2 4 8 2 B 2 2 4 8 32 3 C 1 4 4 16 64 4 D 1 2 6 24 120 4 阅读下面程序 该程序运行的输出结果是 B 1 A sum 6 2 B sum 32 3 C sum 64 4 D sum 12 5 从开始执行到执行结束 小应用程序经历的 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 的三个顶层容器分别是 B 1 A JApplet JPanel JWindow 2 B JDialog JApplet JFrame 3 C JApplet JFrame 4 D JMenu 5 E JFrame JPanel JTextArea 8 把容器划分为东 西 南 北 中 5 个区域的布局管理器是 D 1 A BoxLayout 2 B FlowLayout 3 C ardLayout 4 D BorderLayout 9 下列语句序列执行之后 b1 b2 b3 b4 的值分别是 C 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 1 A true true false false 2 B false true true true 3 C false true true false 4 D false true false false 10 下列构造 String 的语句中 不正确的是 D 1 A String 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 public 2 B extends 3 C void 4 D static 13 执行完下列语句后 变量 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 8 2 B 70 3 C 80 4 D 90 14 以下由 for 语句构成的循环的执行次数是 D for int i 0 ijava IO 计算矩形面积 请输入长 1 请输入宽 计算矩形面积是 637 答 因为 System in read 接收的是字节 0 255 当输入字符 1 以后 其实返回的是 ASCII 码 也就是 49 然后你又按了个回车 回车的 ASCII 码是 13 所以 结果相当于 a 49 b 13 49 13 637 32 问 下面的 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 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 代码段中的 return 语句 则先运行 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 局部变量不能用权限修饰符 static 修饰 37 问 int count 10 count count System out println count 能否通过编译 打印 输出是多少 答 可以通过编译 打印输出 21 int count 10 count count 相当于 count count count System out println count 输出 21 38 问 下面的 Test java 程序 输出结果是 derive 吗 class base private void print 注意 private 修饰 System out println base public void doprint print 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 i s1 s1 method s charAt i System out println s1 答 程序运行的输出结果是 fedcba9876543210 40 阅读下面程序 并回答问题 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 答 问题 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 7 8 9 41 Java AWT 程序设计 在窗口中画出三个 TextField 前两个用于接收用户输入的两个 整数 第三个用于显示相加和 一个加号 Label 一个等于号 Button 当按下 Button 时 将相加之和放到第三个 TextField 中 注意 不允许使用内部类 import java awt import java awt event public class TFMath public static void main String args new TFFrame launchFrame class TFFrame extends Frame TextField num1 num2 num3 public void launchFrame num1 new TextField 10 num2 new TextField 10 num3 new TextField 15 Label lblPlus new Label Button btnEqual new Button btnEqual addActionListener new MyMonitor this setLayout new FlowLayout add num1 add lblPlus add num2 add btnEqual add num3 pack setVisible true class MyMonitor implements ActionListener TFFrame tf null public MyMonitor TFFrame tf this tf tf public void actionPerformed ActionEvent e int n1 Integer parseInt tf num1 getText int n2 Integer parseInt tf num2 getText tf num3 setText n1 n2 42 阅读下面的程序 写出输出结果 public class MyException public static void throwException System out println 产生并抛出 ArithmeticException 类型的异常 throw new ArithmeticException 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 运行结束 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 类型的异常 方法 catchArrayException 的 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 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 错误原因 0 1 缺省为 double 类型 改正办法 float f1 float 0 1 或改为 float f1 0 1f 2 long l1 12345678 l2 8888888888 错误原因 8888888888 已经超出缺省 int 型的最大表示范围 必须加字母 L 改正办法 long l1 12345678 l2 8888888888L 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 来保存 需要强制类型转换 改正办法 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 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 父类 变量 静态初始化块 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 extends 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 void main String args new SubClass 答 1 父类 静态变量 2 父类 静态初始化块 3 子类 静态变量 4 子类 静态初始化块 5 父类 变量 6 父类 初始化块 7 父类 构造器 8 子类 变量 9 子类 初始化块 10 子类 构造器 45 请按下面的要求编写程序 1 定义一个接口 Shapes 它至少包含一个可以计算面积的成员方法 2 编写实现该 Shapes 接口的两个类 正方形类和圆形类 3 编写一个具有泛型特点的类 Map 要求该类可以在控制台窗口输出某种图形的面积 而且这个类的类型变量所对应的实际类型就是 2 编写的正方形类和圆形类 4 利用具有泛型特点的类 Map 在控制台窗口分别输出给定边长的正方形的面积和给定 半径的圆的面积 定义接口 interface Shapes abstract double getArea 定义 Square 类 class Square implements Shapes public double edge public Square double edge this edge edge public double getArea return edge edge 定义 Circle 类 class Circle implements Shapes public double radius public Circle double radius this radius radius public double getArea return radius radius Math PI class Map 使用泛型 T T 应当是 Shapes 的子类 T t public Map T t this t t public double getArea return t getArea 测试程序 class Test public static void main String args Map m1 new Map new Square 15 0 System out println 正方形的面积是 m1 getArea Map m2 new Map new Circle 15 0 System out println 圆形的面积是 m2 getArea 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 SuperClass 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 SubClass SuperClass constructor data 0 SuperClass constructor data 2 SubClass constructor data 2 SubClass constructor data 6 18 47 编写一个简单的乘法器 界面如下图所示 在第一个文本框中输入第一个乘数 在第 二个文本框中输入第二个乘数 当单击 按钮时 在第三个文本框中输出其乘积 import 语句 import javax swing import java awt import java awt event public class Multiply extends JFrame implements ActionListener 组件声明及创建 private 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 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 valueOf 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 请设计一个软件包 要求该软件包至少拥有正方形类 圆类 要求每个类都具有构造 方法 计算该图形的周长的成员方法和计算该图形的面积的成员方法 然后编写一个测试 程序 分别创建这些类的实例对象 并输出这些实例对象的周长和面积 在创建这些实例 对象时 构造方法的调用参数值分别是 正方形 左上定点的坐标为 5 10 边长为 15 圆形 圆心的坐标为 0 0 圆心为 15 interface Shapes abstract double getArea abstract double getPerimeter 定义接口 class Square implements Shapes 定义 Square 类 public int x y public int width height public double getArea return width height public double getPerimeter return 2 width 2 height public Square int x int y int width int height this x x this y y this width width this height height class Circle implements Shapes 定义 Circle 类 public int x y public double radius public double getArea return radius radius Math PI public double getPerimeter return 2 Math PI radius public Circle int x int y double r this x x this y y this radius r public class TestShape 测试程序 public static void main String args Shapes s1 new Square 5 10 15 15 Shapes s2 new Circle 0 0 6 0 System out println 正方形的面积是 s1 getArea System out println 正方形的周长是 s1 getPerimeter System out println 圆形的面积是 s2 getArea System out println 圆形的周长是 s2 getPerimeter 49 编写一个程序 要求随机生成 61 个学生的成绩 从 0 到 100 的整数 在将成绩排序 由高到低 后保存到文件 score txt 中 import java io DataOutputStream import java io FileOutputStream import java io IOException public class TestSort public static int MAXSIZE 61 public static void sortInt int arr 采用选择法对一维数组进行排序 for int i 0 i arr length 1 i int k i for int j i 1 j arr length j if arr j i 在外循环中实施交换 arr i arr i arr k arr k arr i arr k arr i arr i arr k public static void main String args int score new int MAXSIZE try for int i 0 i MAXSIZE i score i int Math random 100 0 5 sortInt score DataOutputStream dout new DataOutputStream new FileOutputStream score txt for int i 0 i MAXSIZE i dout writeInt score i System out println score i dout close 结果保存到文件 catch IOException e System err println 发生异常 e e printStackTrace try catch 结构处理异常 50 阅读下面程序 并回答问题 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 Java 程序分为 Java 应用程序 或 Java application 和 Java 小应用程序 或 Java applet 这段程序是 Java 小应用程序 问题 2 界面上包含一个标签 JLabel 一个按钮 JButton 和一个文本框 JTextField 点击按钮后 文本框内显示 好好学习 天天向上 问题 3 ActionListener 是动作事件监听器接口 方法 actionPerformed 是 ActionListener 中的 方法 其功能是处理 applet 界面里发生的动作事件 51 阅读下面程序 并回答问题 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 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 52 程序设计 在命令行中以树状结构展现给定的文件夹及其子文件 夹 中的文件 测试 文件夹为 C Windows 层次用缩进 4 个空格表示 答 import java io public class FileList public static void main String args File f new File C File separator Windows listFiles f 0 static void listFiles File f int level String preStr for int i 0 i level i preStr System out println preStr f getName 先序遍历 File files f listFiles 取出所有儿子节点 for int i 0 i files length i if files i isFile System out println preStr files i getName if files i isDirectory listFiles files i level 1 53 写出下面程序的执行结果 public class Intern public static void main String args String s1 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 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 s1 s3 s1 s4 s1 s5 s1 s6 s1 54 问 下面程序的执行结果是什么 class Test public static void main String args int sum 0 outer for int i 1 i 10 i inner for int j 1 j 6 continue inner System out println sum sum 答 sum 27 55 下面程序的执行结果是什么 class SuperClass void method System out println SuperClass method void fun System out println SuperClass fun this method class SubClass extends SuperClass void method System out println SubClass method Begin super fun System out println SubClass method End class Test public static void main String args SubClass a new SubClass a method 答 会陷入死循环 直到栈溢出报错 SubClass method Begin SuperClass fun 56 下面的程序错在哪里 如何修改 class SuperClass class SubClass extends SuperClass class Test public static void main String args SuperClass a new SuperClass SubClass b new SubClass b SubClass a 答 b SubClass a 这一句无法通过编译 报错信息为 Exception in thread main java lang ClassCastException SuperClass cannot be cast to SubClass 原因在于向下转型 downcasting 是有前提的 改正 将 SuperClass a new SuperClass 改为 SuperClass a new SubClass 就可以了 57 下列语句序列给出了 k myArr 和 myMethod 的声明 当调用方法 myMethod myArr k 之后 存储在 myArr 和 k 里的值分别是什么 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 答 myArr 中的值是 love and peace k 的值是 7 58 阅读下面程序 并回答问题 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 59 阅读下面的程序 写出程序运行的输出结果 public class Test1 public int method int n int result 1 for int i 1 i n i result i return result public static void main String args Test1 test new Test1 int sum new int 6 for int i 1 i 5 i sum i test method i System out print sum i 答 程序运行的输出结果是 1 2 6 24 120 60 写一个 Java Application 让用户在文本框中输入一个字符串 程序会将其中的大写字 母变为小写字母 小写字母为变大写字母 其余字符不变 并按照逆序将它们显示在一个 文本域中 例如 用户输入 abc123XYZ 点击按钮或按下回车 程序会输出 zyx321CBA import 语句 import javax swing import java awt import java awt event public class StringConvert extends JFrame implements ActionListener 组件声明及创建 private JTextField input new JTextField 15 private JButton convert new JButton 大小 逆序 private JTextField display new JTextField 15 添加组件 public StringConvert Container c getContentPane c setLayout new FlowLayout c add input c add convert c add display convert addActionListener this 处理按钮动作事件 public void actionPerformed ActionEvent e display setText convert input getText n 实现逆序 public String convert String str StringBuffer resultStr new StringBuffer char ch for int i str length 1 i 0 i ch str charAt i if ch A 实现小写字母变大写字母 else resultStr append ch return resultStr toString 设置框架属性 public static void main String args StringConvert f new StringConvert f setDefaultCloseOperation JFrame EXIT ON CLOSE f setSize 640 160 f setVisible true
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案


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

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


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