西南大学22年9月0837 面向对象程序设计在线作业百分
0837 面向对象程序设计1.[单选题] 下列语句执行后,c的值是( )。
答案资料下载请参考帮助中心说明
String s = "Microsoft公司";
char c = s.charAt(10);
A.null
B.产生数组下标越界异常
C.司
D.公
2.[单选题] 第10行语句将调用的语句是( )。
1) class Person {
2) public void printValue(int i, int j) {}
3) public void printValue(int i) {}
4) }
5) public class Teacher extends Person {
6) public void printValue() {}
7) public void printValue(int i) {}
8) public static void main(String args[]) {
9) Person t = new Teacher();
10) t.printValue(10);
11) }
]2)}
A.第3行
B.第2行
C.第7行
D.第6行
3.[单选题] 能正确表示Java语言中的一个整型常量的是( )。
A.A.3 4 5
B.-34
C.34,000
D.345.
4.[单选题] 当某一线程正处于休眠状态,而另一个线程用Thread类中的interrupt()方法中断它时,抛出的异常类型是( )。
A.IOException
B.ClassNotFoundException
C.InterruptedException
D.RuntimeException
5.[单选题] 编译运行下面的程序,执行结果为( )。
public class A {
public static void main(String[] args) {
A a = new A();
a.method(8);
}
void method(int i) {
System.out.println("int:" + i);
}
void method(long i) {
System.out.println("long:" + i);
}
}
A.程序可以编译运行,输出结果为int:8
B.程序编译有错误,因为两个method()方法必须定义为静态(static)的
C.程序可以编译运行,但没有输出
D.程序可以编译运行,输出结果为long:8
6.[单选题] Java Application的主类需包含main方法,以下哪项是main方法的正确形参?( )
A.StringBuffer args[]
B.String args[]
C.String args
D.Char* args
7.[单选题] 以下程序编译运行的结果是( )。
public class Test {
public static void main(String args[]) {
int i, j ;
int a[] = {5, 9, 6, 8, 7};
for (i=0; i < a.length - 1; i++) {
int k = i;
for (j = i ; j < a.length; j++)
if (a < a)k = j;
int temp = a; 福建大学答案
a = a;
a = temp;
}
for (i=0; i < a.length; i++)
System.out.print(a + "");
System.out.println();
}
}
A.98765
B.56789
C.59687
D.78695
8.[单选题] 为了捕获一个异常,代码必须放在( )中。
A.finally块
B.throws块
C.try块
D.catch块
9.[单选题] 语句System.out.println(Math.floor(-0.8));的输出结果是( )。
A.0
B.-0.8
C.-1
D.0.8
10.[单选题] 关于下列程序Test.java,说法正确的是( )。
public class Test {
String x = "1";
int y;
public static void main(String args[]) {
int z=2;
System.out.println(x+y+z);
}
}
A.3
B.12
C.102
D.程序有编译错误
11.[单选题] 可以对对象加互斥锁的关键字是( )。
A.static
B.synchronized
C.transient
D.serialize
12.[单选题] 关于继承,正确的说法是( )。
A.子类将继承父类所有的属性和方法
B.子类只继承父类public方法和属性
C.子类只继承父类的方法,而不继承属性
D.子类将继承父类的非私有属性和方法
13.[单选题] 已知如下定义:String s = "story"; 下列哪个语句不是合法的?( )
A.String t = s + "abc";
B.s = s + 100;
C.int len = s.length;
D.s += "books";
14.[单选题] 以下程序编译运行的结果是( )。
public class X3 extends Thread implements Runnable { //第1行
public void run() {
System.out.println("this is run()");
}
public static void main(String args[]) {
Thread t = new Thread(new X3()); //第6行
t.start();
}
}
A.第6行会产生运行错误
B.第1行会产生编译错误
C.编译成功,运行正常
D.第6行会产生编译错误
15.[单选题] 有整型数组int[] x = {12, 35, 8, 7, 2};,调用方法Arrays.sort(x)后,数组x中的元素值依次是( )。
A.8712352
B.2781235
C.3512872
D.1235872
16.[单选题] 以下程序编译运行的结果是( )。
public class X2 implements Runnable {
private int x;
private int y;
public static void main(String[] args) {
X2 that = new X2();
(new Thread(that)).start();//第6行
(new Thread(that)).start();//第7行
}
public synchronized void run() {
for(;;) {
x++;
y++;
System.out.println("x=" + x + ",y=" + y);
}
}
}
A.B.程序可能输出X、Y不相同的数对,如:"x=2,y=1"
B.程序输出递增重复的X、Y数对,如:"x=l,y=l"、"x=2,y=2"、...
C.在第6行会引起编译错误
D.在第7行会引起编译错误
17.[单选题] 编译运行下面的程序,输出的结果是( )。
public class A implements Runnable {
public void run() {
System.out.println("OK.");
}
public static void main(String[] args) {
Thread th = new Thread(new A());
th.start();
}
}
A.程序不能编译,产生异常
B.程序能编译运行,输出结果:OK.
C.上面说法都不对
D.程序能编译运行,但没有任何结果输出
18.[单选题] 阅读下列程序。下划线处应增加哪个选项,程序才能通过编译?( )
public class ExceptionTest {
class TestException extends Exception { }
public void runTest() throws TestException { }
public void test() ________________ {
runTest();
}
}
A.throws RuntimeException
B.catch(Exception e)
C.catch(TestException e)
D.throws Exception
19.[单选题] 以下选项中变量均已正确定义。错误的赋值语句是( )。
A.y+x=z;
B.k+=x+2;
C.i--;
D.i+=7;
20.[单选题] 以下程序编译运行的结果是( )。
public class MyClass {
int a[] = {1, 2, 3, 4, 5};
void out() {
for (int j = 0; j < a.length; j++)
System.out.print(a + "");
}
public static void main(String[] args) {
MyClass my = new MyClass();
my.out();
}
}
A.编译时正确,运行时将产生错误
B.54321
C.12345
D.编译时将产生错误
21.[单选题] 语句RandomAccessFileraf2 = new RandomAccessFile("1.txt", "rw");的功能是( )。
A.打开当前目录下的文件1.txt,既可以向文件写数据,也可以从文件读数据。
B.以上说法都不对。
C.打开当前目录下的文件1.txt,但不能向文件写入数据,只能从文件读取数据。
D.打开当前目录下的文件1.txt,但只能向文件写入数据,不能从文件读取数据。
22.[单选题] 方法resume()负责恢复以下哪类线程的执行?( )
A.通过调用stop()方法而停止的线程
B.通过调用sleep()方法而停止的线程
C.通过调用wait()方法而停止的线程
D.通过调用suspend()方法而停止的线程
23.[单选题] 以下程序编译运行的结果是( )。
import java.io.*;
public class Test {
public static void main(String args[]) {
AB s = new AB("Hello!", "I love JAVA.");
System.out.println(s.toString( ));
}
}
class AB {
String s1;
String s2;
public AB(String str1, String str2) {
s1 = str1;
s2 = str2;
}
public String toString() {
return s1 + s2;
}
}
A.Hello!JAVA
B.Hello!
C.I love JAVA.
D.Hello!I love JAVA.
24.[单选题] 下列程序段执行后,变量b, x, y的值分别是( )。
int x = 6, y = 8;
boolean b;
b = x > y & ++x == --y;
A.true,7,7
B.true,6,8
C.false,7,7
D.false,6,8
25.[单选题] 以下程序编译运行的结果是( )。
public class Test {
public static void main(String[] args) {
int j = 10;
calculate(j);
System.out.println(j);
}
static void calculate (int j) {
for (int i = 0; i < 10; i++)
j++;
}
}
A.20
B.0
C.55
D.10
26.[单选题] 关于异常(Exception),下列描述错误的是( )
A.D.异常可以随便处理,而不是抛给外层的程序进行处理
B.如果某异常继承RuntimeException,则该异常可以不被声明
C.异常的基类为Exception,所有异常都必须直接或者间接继承它
D.异常可以用try{ . . .} catch(Exception e) { . . .}来捕获并进行处理
27.[单选题] 不属于Java核心包的一项是( )。
A.java.swing
B.java.lang
C.java.io
D.java.util
28.[单选题] 以下程序编译运行的结果是( )。
public class Father {
int a = 100;
public void miner() {
a--;
}
public static void main(String[] args) {
Father x = new Father();
Son y = new Son();
System.out.println(y.a);
System.out.println(y.getA());
y.miner();
System.out.println(y.a);
System.out.println(y.getA());
}
}
class Son extends Father {
int a = 0;
public void plus() {
a++;
}
public int getA() {
return super.a;
}
}
A.0000
B.0 99 0 100
C.0 100 0 99
D.100 100 100 100
29.[单选题] 下列哪个方法不是接口Collection中声明的方法?( )
A.得到元素个数的length()方法
B.删除元素的remove(Object obj)方法
C.添加元素的add(Objectobj) 方法
D.返回迭代器的iterator()方法,迭代器用于元素遍历
30.[单选题] 有一个类A,对于其构造函数的声明,正确的是( )。
A.A(int x) {...}
B.A A(int x) {...}
C.int A(int x) {...}
D.void A(int x) {...}
31.[单选题] 以下哪个不是Java的原始数据类型?( )
A.Boolean
B.char
C.float
D.int
32.[单选题] 下列说法中,错误的是( )。
A.static变量也可以是final类型
B.一个实例方法可以同时为protected和abstract类型
C.final方法也可以是abstract类型
D.static方法也可以是protected类型
33.[单选题] 下列构造String的语句中,不正确的是( )
A.String str2 = "" ;
B.String str1 = new String( );
C.String str4 = "" + 123;
D.String str3 = new String(123);
34.[单选题] 设有定义 int i=7;char ch="b"; 下面赋值语句中不正确是( )
A.i = ch;
B.ch = i;
C.ch = (char)i;
D.i = (int)ch;
35.[单选题] Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序“一次编写,到处运行”的特点?( )
A.多线程
B.与平台无关
C.面向对象
D.分布式
36.[单选题] 关于选择结构,正确的说法是( )。
A.if语句可以没有else语句对应
B.if语句和else语句必须成对出现
C.switch结构中每个case语句中必须用break语句
D.switch结构中必须有default语句
37.[单选题] 以下程序编译运行的结果是( )。
class A {
public int getNumber(int a) {
return a + 1;
}
}
class B extends A {
public int getNumber(int a, char c) { //第7行
return a + 2;
}
public static void main(String[] args) {
B b = new B();
System.out.println(b.getNumber(0)); //第14行
}
}
A.编译成功并输出"1"
B.在第7行出现编译错误
C.编译成功并输出"2"
D.在第14行出现编译错误
38.[单选题] 关于this和super,正确的说法是( )。
A.都是指一个内存地址
B.意义相同
C.不能用在main()方法中
D.都可以用在main()方法中
39.[单选题] 关于线程的说法,错误的是( )。
A.一个线程因为输入输出而暂时停止运行,待输入/输出完成后,且没有出现输入/输出异常,即可恢复到可运行状态
B.因为休眠而暂时停止运行的线程,休眠时间到了后立即直接运行
C.线程执行wait()方法后,必须调用notify()方法唤醒它
D.挂起、休眠或等待的线程都可以恢复到可运行状态,但停止运行的线程将不能再重新运行
40.[单选题] 以下程序的功能是( )。
import java.io.*;
public class Test {
public static void main(String[] args) {
try {
BufferedReader is =
new BufferedReader(new InputStreamReader(System.in));
String inputLine;
while ((inputLine = is.readLine()) != null) {
System.out.println(inputLine);
}
is.close();
} catch (IOException e) {
System.out.println("IOException: " + e);
}
}
}
A.编译时将产生错误
B.读取键盘输入,回显到屏幕上
C.读取键盘输入,保存到文件中
D.编译时正确,运行时将产生错误
41.[单选题] 下列哪个选项可以确定prefs是一个目录或文件?( )
A.C.boolean exists = Directory.exists("prefs");
B.boolean exists = (new Directory("prefs")).exists();
C.boolean exists = (new File("prefs")).isDirectory();
D.boolean exists = (new File("prefs")).isDir();
42.[单选题] 二维数组b定义如下。下列说法错误的是( )。
int b[][] = {{1, 2, 3}, {4, 5},{6, 7, 8}}};
A.二维数组b的第一行有3个元素
B.b.length的值是3
C.b的值是5
D.b.length的值是3
43.[单选题] 以下哪个是合法的Java标识符?( )
A.super
B.fieldname
C.3number
D.#number
44.[单选题] 执行完下列程序片段后,正确的结论是( )。
int a, b, c;
a = 1;
b = 2;
c = (a + b > 3 ? a++ : ++b);
A.a的值是1,b的值是3
B.c的值是false
C.a的值是2,b的值是3
D.a的值是1,b的值是2
45.[判断题] 类的静态方法中可以访问该类的非静态数据成员。( )
A.正确
B.错误
46.[判断题] Java有垃圾回收机制,内存回收程序可在指定的时间释放内存对象。( )
A.正确
B.错误
47.[判断题] 编译Hello.java的正确命令形式是javac Hello.Java。( )
A.正确
B.错误
48.[判断题] Java语言里的线程不是对象。( )
A.正确
B.错误
49.[判断题] Java中布尔类型的常量有两种,它们是True和False。( )
A.正确
B.错误
50.[判断题] 抽象类中必须定义抽象方法。( )
A.正确
B.错误
51.[判断题] 当声明一个数组int arr[] = new int; 时,这代表这个数组所保存的变量类型是int,数组名是arr,数组的大小为6。( )
A.正确
B.错误
52.[判断题] Java中,构造方法不可以被private修饰。( )
A.正确
B.错误
53.[判断题] 抽象类中一定包含抽象方法。( )
A.正确
B.错误
54.[判断题] 对于垃圾对象,程序员可以精确控制其回收时间。( )
A.正确
B.错误
55.[判断题] 在异常处理中,若try中的代码可能产生多种异常则可以对应多个catch语句,若catch中的参数类型有父类子类关系,此时应该将父类放在前面,子类放在后面。( )
A.正确
B.错误
56.[判断题] 父类某方法的访问修饰符为public,子类重写父类该方法可以将访问修饰符定义为private。( )
A.正确
B.错误
57.[判断题] Java中任何可执行的类都需要main方法。( )
A.正确
B.错误
58.[判断题] 构造函数用于创建类的实例对象,构造函数名应与类名相同,返回类型为void。( )
A.正确
B.错误
59.[问答题] 用Java编写一个Application程序。该程序包含接口ShapeArea、类Rectangle和类Test,具体要求如下:
(1) 接口ShapeArea
方法:
double getArea():返回一个形状的面积
double getPerimeter ():返回一个形状的周长
(2) 类Rectangle
实现ShapeArea接口,并有以下属性和方法
① 属性
width: double型,表示长方形的宽度
height:double型,表示长方形的长度
② 方法
Rectangle(double w, double h):构造函数
toString():输出矩形的描述信息,如“width=1.0,height=2.0,perimeter=6.0,area=2.0”
(3) 类Test
作为主类要完成测试功能
① 生成Rectangle对象,长方形的宽度和长度分别为1和2
② 调用对象的toString方法,输出对象的描述信息
A.
60.[问答题] 用Java编写一个Application程序。该程序包含接口ShapeArea、类MyTriangle和类Test,具体要求如下:
(1) 接口ShapeArea
方法:
double getArea():返回一个形状的面积
double getPerimeter ():返回一个形状的周长
(2) 类MyTriangle
实现ShapeArea接口,并有以下属性和方法
① 属性
x,y,z: double型,表示三角形的三条边
s: 周长的1/2(注:求三角形面积公式为 ,s=(x+y+z)/2,开方可用Math.sqrt(double)方法)
② 方法
MyTriangle(double x, double y, double z):构造函数,给三条边赋初值
toString():输出三角形的描述信息,如“three sides:3.0,4.0,5.0,perimeter=12.0,area=6.0”
(3) 类Test
作为主类要完成测试功能
① 生成MyTriangle对象,边长分别为3、4、5
② 调用对象的toString方法,输出对象的描述信息
A.
61.[问答题] 用Java编写一个Application程序。该程序包含类Person、Student、TestStudent,具体要求如下:
(1) 类Person
①属性
name : String对象,表示一个人姓名
sex: char类型,用来表示性别
id:String对象,表示身份证号
phone:String对象,表示联系电话
email :String对象,表示E-mail地址
②方法
Person(Name name, char sex, String id):构造函数
String getId() :获得身份证号
void setEmail(String email) :设置E-mail地址
void setPhone(String phone) :设置联系电话
public String toString() :返回个人的各项信息,包括姓名、性别等上述属性
(2) 类Student
从Person类派生,增加了以下属性和方法:
① 属性
sNo: long类型,表示学生的学号
sClass: String对象,表示学生的班级
② 方法
Student(long sNo, String name, char sex, String id):构造函数
setClass(String sClass): 设置学生的班级信息
public String toString() :返回学生的各项信息,包括学号、班级、姓名等上述属性
(3)类TestStudent
作为主类要完成测试功能
A.
62.[问答题] 用Java编写一个Application程序。该程序包含包含抽象类Shape,MyCircle类及Test类,具体要求如下:
(1) 抽象类Shape
double getArea():返回一个形状的面积
double getPerimeter():返回一个形状的周长
(2) 类MyCircle
由Shape类派生的具体类,除实现Shape类中的方法外,另有以下属性和方法:
① 属性
radius: double类型,表示圆的半径
② 方法
MyCircle(double r):构造函数,:构造函数,给半径r赋初值
toString()方法 :输出圆的描述信息,如“radius=1.0, perimeter=6.28, area=3.14”
(3) 类Test作为主类要完成测试功能
① 生成MyCircle对象,半径为1.0
② 调用对象的toString方法,输出对象的描述信息
A.
63.[问答题] 用Java编写一个Application程序,界面如下图所示。用户在第一个文本框中输入第一个乘数;在第二个文本框中输入第二个乘数;当单击"="按钮时,在第三个文本框中输出其乘积。
<img src="http://zuoye.eduwest.com/resourcefile/uploadFiles/file/questionImgs2018/2020/11/16/202011161605460157787066017.jpg" title="202011161605460157787066017.jpg" alt="简单乘法器.jpg"/>
A.
附件由无忧答案网整理,转载注明 无忧答案网
页:
[1]