西南大学19秋[0837] 面向对象程序设计在线作业资料
0837 面向对象程序设计1.[单选题]下列合法的JAVA标识符是( )
奥鹏作业答案可以联系QQ 761296021
A.B.+void
B.F._black
C.-5
D.12class
2.[单选题]关于constructor,下列描述正确的是( )
A.class中的constructor不可省略
B.constructor在一个对象被new时执行
C.一个class只能定义一个constructor
D.constructor必须与class同名,但方法不能与class同名
3.[单选题]以下哪个方法用于定义线程的执行体?( )
A.C.run()
B.main()
C.start()
D.init()
4.[单选题]在JAVA程序中要使用一个变量,以下描述不正确的是( )
A.在JAVA程序中要使用一个变量,必须先对其进行声明
B.局部变量在使用之前可以不初始化,系统使用默认的初始值
C.变量不可以在其作用域之外使用
D.变量声明语句可以在程序的任何地方,只要在变量使用前就可以
5.[单选题]关于abstract(抽象),下列描述正确的是( )
A.声明抽象方法,大括号{ }可有可无
B.声明抽象方法不可写出大括号{ }
C.abstract修饰符可修饰字段、方法和类
D.抽象方法的body部分必须用一对大括号{ }包住
6.[单选题]方法resume()负责恢复以下哪类线程的执行?XXXX
A.通过调用stop()方法而停止的线程
B.通过调用sleep()方法而停止的线程
C.通过调用wait()方法而停止的线程
D.通过调用suspend()方法而停止的线程
7.[单选题]以下哪个赋值语句是不合法的?( )
A.double b = 2.0;
B.int c = 2;
C.long d = 2;
D.float a = 2.0;
8.[单选题]方法resume()负责恢复以下哪类线程的执行?( )
A.通过调用stop()方法而停止的线程
B.通过调用sleep()方法而停止的线程
C.通过调用suspend()方法而停止的线程
D.通过调用wait()方法而停止的线程
9.[单选题]欲构造ArrayList类的一个实例,此类继承了List接口,下列正确的代码是( )
A.ArraylList myList = new List();
B.ArrayList myList = new Object();
C.List myList = new List();
D.List myList = new ArrayList();
10.[单选题]以下哪个修饰符可用于定义成员常量?( )
A.static
B.final
C.abstract
D.No modifier can be used
11.[单选题]关于异常(Exception),下列描述错误的是( )
A.A. 异常可以随便处理,而不是抛给外层的程序进行处理
B.如果某异常继承RuntimeException,则该异常可以不被声明
C.异常的基类为Exception,所有异常都必须直接或者间接继承它
D.异常可以用try{ . . .} catch(Exception e) { . . .}来捕获并进行处理
12.[单选题]执行完以下代码int[ ] x = new int;后,以下描述正确的是( )
A.x为0
B.x未定义
C.x为空
D.x为0
13.[单选题]下列关于修饰符的描述,错误的是( )
A.abstract不能与final并列修饰同一个类
B.abstract类中可以有private的成员
C.abstract方法必须在abstract类中
D.static方法中能处理非static的属性
14.[单选题]下面可以改变容器的布局的是( )
A.layout(aLayoutManager);
B.setLayout(aLayoutManager);
C.setLayoutManager(aLayoutManager);
D.addLayout(aLayoutManager);
15.[单选题]不是JAVA语言保留字的是( )
A.if
B.private
C.sizeof
D.null
16.[单选题]关于线程设计,下列描述正确的是( )
A.启动一个线程直接调用线程对象的run()方法
B.一个线程可以包含多个进程
C.线程对象必须实现Runnable接口
D.Java提供对多线程同步提供语言级的支持
17.[单选题]下列关于实例方法的描述,正确的是( )
A.实例方法可直接调用超类的类方法
B.实例方法可直接调用其他类的实例方法
C.实例方法可直接调用超类的实例方法
D.实例方法可直接调用本类的类方法
18.[单选题]阅读下面的程序:
<img alt="" src="http://77file.eduwest.com/fileup/homework/0837/251/accessories/1268882544921/1264139626823/1268740099569.JPG"/>
该程序运行的输出结果是:( )
A.0123456789ABCDEF
B.ABCDEF0123456789
C.0123456789abcdef
D.fedcba9876543210
19.[单选题]下面哪个是main()函数的合法参数?( )
A.D.char args[]
B.char args[][]
C.String args
D.String args[]
20.[多选题]不能用来修饰interface的有( )XXXX
A.static
B.public
C.private
D.protected
21.[多选题]不能用来修饰interface的有( )XXXX
A.static
B.public
C.protected
D.private
22.[多选题]执行代码 String[] s=new String;后,结论正确的是( )XXXX
A.s.length 为10
B.s 为 未定义
C.s 为 null
D.s 为 ""
23.[问答题]问:阅读下面的Java代码,写出打印语句的输出结果(即类的初始化顺序)。
public class InitialOrderTest {
// 静态变量
public static String staticField = "静态变量";
// 变量
public String field = "变量";
// 静态初始化块
static {
System.out.println(staticField);
System.out.println("静态初始化块");
}
// 初始化块
{
System.out.println(field);
System.out.println("初始化块");
}
// 构造器
public InitialOrderTest() {
System.out.println("构造器");
}
public static void main(String[] args) {
new InitialOrderTest();
}
}
A.
24.[问答题]问:Math.round(11.5)返回多少? Math.round(-11.5)返回多少?
A. 微信7612 96021
25.[问答题]问:下面的Java程序,编译时会报什么错误?
import java.io.*;
class SuperClass {
public void fun() throws IOException {
}
}
class SubClass1 extends SuperClass {
public void fun() throws Exception {
System.out.println("SubClass::fun()");
}
}
class SubClass2 extends SuperClass {
public void fun() throws FileNotFoundException,ArithmeticException {
System.out.println("B6::method()");
throw new ArithmeticException("被除数为0");
}
}
A.
26.[问答题]问:下面的TestStaticMain.java程序能否通过编译?哪条语句会报错?
public class TestStaticMain {
public static void main(String[] args) {
Person p = new Person(10, "wangke");
p.print();
}
class Person {
private int ID;
private String name;
Person(int ID, String name) {
this.ID = ID;
this.name = name;
}
public void print() {
System.out.println("ID = " + ID);
System.out.println("name = " + name);
}
}
}
A.
27.[问答题]问:阅读下面的Java代码,写出打印语句(1)、(2)、(3)的输出结果,并解释原因。
String str1 = new String("wangke");
String str2 = new String("wangke");
System.out.println(str1 == str2); // (1)
System.out.println(str1.equals(str2)); // (2)
System.out.println(str1.hashCode()==str2.hashCode()); // (3)
A.
28.[问答题]问:阅读下面的Java GUI Application。在点击“测试”按钮后,控制台的输出信息是什么?
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Test {
public static void main(String[] args) {
new MyFrame().launchFrame();
}
}
class MyFrame extends JFrame {
JButton btn = new JButton("测试");
Container ctp = getContentPane();
public void launchFrame() {
setBounds(200,200,250,160);
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ctp.setLayout(new BorderLayout(10,10));
ctp.add("North", btn);
btn.addActionListener(new MyActionListener()); // btn注册监听器1
btn.addActionListener(new YourActionListener()); // btn注册监听器2
setVisible(true);
}
class MyActionListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
if(e.getSource() == btn) {
System.out.println("in MyActionListener");
}
}
}
class YourActionListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
if(e.getSource() == btn) {
System.out.println("in YourActionListener");
}
}
}
}
A.
29.[问答题]问:数组有没有length()这个方法? String有没有length()这个方法?
A.
30.[问答题]问:&与&&的区别是什么?
A.
31.[问答题]问:Java编程中,想要获得Class类对象,有哪3种方法?
A.
32.[问答题]问:Java编程中,实例化对象有哪5种方法?
A.
33.[问答题]问:有一个程序IO.java,代码如下。发现输入1之后,还没等到输入宽,程序就直接输出了637。为什么?
import java.io.*;
class IO {
public static void main(String args[]) throws IOException {
System.out.println("计算矩形面积");
System.out.print("请输入长:");
int a, b;
a = System.in.read();
System.out.print("请输入宽:");
b = System.in.read();
System.out.println("计算矩形面积是:" + a * b);
}
}
运行:
C:\temp>java IO
计算矩形面积
请输入长:1
请输入宽:计算矩形面积是:637
A.
34.[问答题]问:下面的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);
}
}
A.
35.[问答题]问:下面的Java程序,编译时会报什么错误?
class SuperClass {
public void fun() {
}
}
class SubClass extends SuperClass {
private void fun() {
System.out.println("SubClass::fun()");
}
}
A.
36.[问答题]问:下面的代码是否能输出wangke?
try {
System.exit(0);
} finally {
System.out.println("wangke");
}
A.
37.[问答题]问:String s = new String("xyz"); 创建了几个String Object?
A.
38.[问答题]问:下面的Test.java程序,有哪两处错误?
Class Test {
void f() {
public int i;
}
}
A.
39.[问答题]问:int count = 10; count += ++count; System.out.println(count); 能否通过编译?打印输出是多少?
A.
40.[问答题]问:下面的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();
}
}
A.
41.[问答题]阅读下面的程序,写出程序运行的输出结果。
public class Test2 {
public static char method(char ch) {
if((ch>='A') && (ch<='Z'))
return (char)(ch + 32);
else return ch;
}
public static void main(String[] args) {
String s= "0123456789ABCDEF",s1="";
for (int i=s.length()-1; i>=0; i--)
s1 = s1 + method(s.charAt(i));
System.out.println(s1);
}
}
A.
42.[问答题]
阅读下面程序,并回答问题。
(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();
}
}
}
A.
43.[问答题]Java AWT程序设计:在窗口中画出三个TextField(前两个用于接收用户输入的两个整数,第三个用于显示相加和),一个加号Label,一个等于号Button. 当按下Button时,将相加之和放到第三个TextField中。注意:不允许使用内部类。
A.
44.[问答题]阅读下面的程序,写出输出结果。
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("异常处理结束");
}
}
A.
45.[问答题]问:下面语句中的错误都是在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; // 有错
A.
46.[问答题]阅读下面的程序,写出输出结果。
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();
}
}
A.
47.[问答题]请按下面的要求编写程序。(1)定义一个接口Shapes,它至少包含一个可以计算面积的成员方法。(2)编写实现该Shapes接口的两个类:正方形类和圆形类。(3)编写一个具有泛型特点的类Map,要求该类可以在控制台窗口输出某种图形的面积,而且这个类的类型变量所对应的实际类型就是(2)编写的正方形类和圆形类。(4)利用具有泛型特点的类Map在控制台窗口分别输出给定边长的正方形的面积和给定半径的圆的面积。
A.
48.[问答题]阅读下面程序,写出程序的输出结果。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()); } }
A.
49.[问答题]编写一个简单的乘法器,界面如下图所示,在第一个文本框中输入第一个乘数;在第二个文本框中输入第二个乘数;当单击“=”按钮时,在第三个文本框中输出其乘积。</P><P align=center><IMG alt="" src="http://77file.eduwest.com/fileup/homework/0837/250/accessories/1268882586585/1264139627166/1268740099575.JPG" border=0
A.
50.[问答题]请设计一个软件包。要求该软件包至少拥有正方形类、圆类。要求每个类都具有构造方法、计算该图形的周长的成员方法和计算该图形的面积的成员方法。然后编写一个测试程序,分别创建这些类的实例对象,并输出这些实例对象的周长和面积。在创建这些实例对象时,构造方法的调用参数值分别是: 正方形:左上定点的坐标为(5,10),边长为15。 圆形:圆心的坐标为(0,0),圆心为15。
A.
51.[问答题]编写一个程序,要求随机生成61个学生的成绩(从0到100的整数),在将成绩排序(由高到低)后保存到文件“score.txt”中。
A.
52.[问答题]<P>阅读下面程序,并回答问题。</P><P>(1)Java程序分为哪两种类型,这段程序是哪一类Java程序?<BR>(2)这个图形用户界面上包含那几类组件?点击按钮后程序显示什么?<BR>(3)ActionListener是什么?程序中哪个方法是ActionListener中的方法?其功能是什么?</P><P>import javax.swing.*;<BR>import java.awt.*; <BR>import java.awt.event.*;</P><P>public class Test4 extends JApplet implements ActionListener{<BR> private Container cp = getContentPane();;<BR> private JLabel prompt = new JLabel("请点击按钮"); <BR> private JButtonstart = new JButton("开始");<BR> private JTextField output = new JTextField(20);<BR> public void init( ){<BR> cp.setLayout(new FlowLayout());<BR> cp.add(start);<BR> cp.add(prompt);<BR> cp.add(output);<BR> output.setEditable(false);<BR> start.addActionListener(this);<BR> }<BR> public void actionPerformed(ActionEvent e){<BR> if ((JButton)e.getSource( ) == start )<BR> output.setText("好好学习,天天向上");<BR> }<BR>}</P><P> </P>
A.
53.[问答题]阅读下面程序,并回答问题。
(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();
}
}
A.
54.[问答题]程序设计:在命令行中以树状结构展现给定的文件夹及其子文件(夹)中的文件。测试文件夹为C:Windows,层次用缩进4个空格表示。
A.
55.[问答题]写出下面程序的执行结果。
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");
}
}
A.
56.[问答题]问:下面程序的执行结果是什么?
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<3; j++) {
sum += j;
if (i+j > 6)
continue inner;
}
}
System.out.println("sum=" + sum);
}
}
A.
57.[问答题]下面程序的执行结果是什么?
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();
}
}
A.
58.[问答题]下面的程序错在哪里?如何修改?
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;
}
}
A.
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;
for (int i=1; i<=5; i++) {
sum = test.method(i) ;
System.out.print(sum + " ");
}
}
}
A.
60.[问答题]写一个Java Application。让用户在文本框中输入一个字符串,程序会将其中的大写字母变为小写字母,小写字母为变大写字母(其余字符不变),并按照逆序将它们显示在一个文本域中。(例如:用户输入“abc123XYZ”,点击按钮或按下回车,程序会输出“zyx321CBA”)
A.
附件是答案,核对题目下载 转载注明无忧答案网
页:
[1]