找回密码
 注册

QQ登录

只需一步,快速开始

查看: 727|回复: 0

西南大学22年9月0837 面向对象程序设计在线作业百分

[复制链接]
发表于 2022-10-4 09:36:58 | 显示全部楼层 |阅读模式
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[j] < a[k])  k = j;
            int temp = a[i];    福建大学答案
            a[i] = a[k];
            a[k] = temp;
        }
        for (i=0; i < a.length; i++)
            System.out.print(a[i] + "  ");
        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[j] + "");
    }

    public static void main(String[] args) {
        MyClass my = new MyClass();
        my.out();
    }
}
    A.编译时正确,运行时将产生错误
    B.54321
    C.12345
    D.编译时将产生错误
21.[单选题] 语句RandomAccessFile  raf2 = 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[1][1]的值是5
    D.b[1].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[5]; 时,这代表这个数组所保存的变量类型是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.
附件由无忧答案网整理,转载注明 无忧答案网

西南大学22年9月0837 面向对象程序设计在线作业.zip

8.51 KB, 下载次数: 1, 下载积分: 贡献 1

售价: 20 金币  [记录]

答案参考

QQ|手机版|小黑屋|网站地图|无忧答案网 ( 冀ICP备18010495号-1 )

GMT+8, 2024-5-3 16:00

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表