《Java程序设计》期末复习100题(精讲下篇)

《Java程序设计》期末复习100题(精讲下篇),第1张

《Java程序设计》期末复习100题(精讲下篇)

上篇地址


51.假如X的值为10,程序输出的结果是( )。

switch(x){
	case 10:
		System.out.print("10 ");
	case 20:
		System.out.println("20 ");break;
	case 30:
		System.out.println("30");break;
}

A. 10 20
B. 10
C. 10 20 30
D. 30

  • switch 进入后只有遇到break才退出,否则一直运行到结束。

52.下列哪行代码将输出整数7?

1: public class Main{
2:    public static void main(String args[]){
3:      double x=6.5;
4:      System.out.println(Math.floor(x+1));
5:      System.out.println(Math.ceil(x));
6:      System.out.println(Math.round(x));
7:    }
8: }

A. 第4行
B. 第4行和第5行
C. 第6行
D. 第4、5、6行

  • 一、7.0
  • 二、7.0
  • 三、7

53.给定下列代码,则下列选项中能够正确编译的是哪一个?

abstract class Shape{
	int x;
	int y;
	public abtract void draw();
}

A. abstract class Circle implements Shape{ private int radius; }
B. abstract class Circle extends Shape{ private int radius; }
C. class Circle extends Shape{ private int radius; public void draw(); }
D. class Circle implements Shape{ private int radius; public void draw(); }

  • A、Shape不是接口。
  • C、没有实现虚函数。
  • D、Shape不是接口、没有实现虚函数。

54.给定以下代码,请问下列选项中哪个是正确的?

public interface Top{
	void twiddle(String s);
}

A. public abstract class Sub implements Top{ public abstract void twiddle(String s){ }
B. public class Sub implements Top{ public void twiddle(Integer i){ } }
C. public class Sub implements Top{ void twiddle(String s){ } }
D. public class Sub implements Top{ public void twiddle(String s){ } public void twiddle(Integer i){ } }

  • z

55.当编译运行下列代码时,运行结果是什么?

public class Main{
	int arr[]=new int[10];
	public static void main(String args[]){
		System.out.println(arr[1]);
	}
}

A. 编译错误
B. 编译正确,但运行时出现异常
C. 输出0
D. 输出null

  • 无法从 static 上下文引用非 static 字段 ‘arr’

56.编写一个程序,包括两个TextField和一个Button。当单击按钮时,可以把一个文本框中的内容复制到另一个文本框中。要求用JavaFx组件实现。界面如下图所示:

 

57.编写程序,创建一个如下图所示的用户界面,其上共有6个按钮,点击按钮“Button 1”时显示消息“button 2 has been clicked”,点击按钮“Button 2”时显示消息“button 2 has been clicked”,点击按钮“Button 3”时显示消息“button 3 has been clicked”,以此类推…

 

58.当编译并运行下列代码时,其运行结果是什么?

public class Main{
	public static void main(String args[]){
	certkiller(four);
	certkiller(tee);
	certkiller(to);
	}
	public static void certkiller(String str){
		int check=4;
		if(check==str.length())
			System.out.print(str.charAt(check-=1));
		else
			System.out.print(str.charAt(0));
	}
}
rtt
  1. 当编译并运行下列代码时,其运行结果是什么?
public class Main{
	public static void main(String args[]){
		String s=Java;
		StringBuffer sb=new StringBuffer(Java);
		change(s);
		change(sb);
		System.out.println(s+sb);
	}
	public static void change(String s){
		s=s.concat(Hello);
	}
	public static void change(StringBuffer sb){
		sb.append(Hello);
	}
}
JavaJavaHello

  1. 如果一个方法只有方法的声明,而没有方法的实现,则称为抽象方法

  1. 异常处理try-catch-finally语句中,是用 catch 语句块来捕获和处理异常。

  1. 读程序,写出程序运行结果
public class Test {

    public static void main(String[ ] args) {
        int i=0;
        while (i--0){
             System.out.print(The value of i is +i);
         }
         System.out.print(The end);
     }
}

参考答案:
The end


  1. 在一大堆数据中找出重复的是一件经常要做的事情。现在,我们要处理许多整数,在这些整数中,可能存在重复的数据。
    你要写一个程序来做这件事情,读入数据,检查是否有重复的数据。如果有,输出“YES”这三个字母;如果没有,则输出“NO”。输入格式:
    你的程序首先会读到一个正整数n,1=n=100000。然后是n个整数。输出格式:
    如果这些整数中存在重复的,就输出:
    YES

否则,就输出:
NO
输入样例:
5
1 2 3 1 4
输出样例:
YES

参考答案:


  1. (主观题)(1分)
    定义一个贷款类Loan,其中有属性:
    annualInterestRate:double,表示贷款的年利率(默认值:2.5)
    numberOfYears:int,表示贷款的年数(默认值:1)
    loanAmount:double,表示贷款额(默认值:100)
    loanDate:java.util.Date,表示创建贷款的日期
    定义方法:
    (1)默认的无参构造方法
    (2)带指定利率、年数和贷款额的构造方法
    (3)所有属性的get/set方法
    (4)返回这笔贷款的月支付额getMonthlyPayment()
    月支付额 = (贷款额度月利率)/(1-(1/Math.pow(1+月利率,年数12)))
    (5)返回这笔贷款的总支付额getTotalPayment()
    总支付额度 = 月支付额度年数12
    附上如下的测试类。
    public class Main{
    public static void main(String[] args) {
    Scanner input = new Scanner(System.in);
    while (input.hasNext()) {
    double AIR = input.nextDouble();
    int NOY = input.nextInt();
    double LA = input.nextDouble();
    try {
    Loan m = new Loan(AIR, NOY, LA);
    System.out.printf(%.3fn,m.getTotalPayment());
    } catch (Exception ex) {
    System.out.println(ex);
    }
    }

}
}

输入格式:
输入有多组数据,一个实数表示年利率,一个整数表示年数,一个实数表示贷款总额。
输出格式:
若任意一项小于或等于零,抛出IllegalArgumentException异常及相应描述(Number of years must be positive或Annual interest rate must be positive或Loan amount must be positive);有多项不符合,以不符合最前项为准;
若均符合要求,按照格式输出总额。
输入样例:
在这里给出一组输入。例如:
1 1 1000 2.0 0 2000 0 0 0
输出样例:
在这里给出相应的输出。例如:
1005.425 java.lang.IllegalArgumentException: Number of years must be positive java.lang.IllegalArgumentException: Annual interest rate must be positive

参考答案:

  1. (主观题)(1分)
    定义一个USB接口,并通过Mouse和U盘类实现它,具体要求是:
    1.接口名字为USB,里面包括两个抽象方法:
    void work();描述可以工作
    void stop(); 描述停止工作
    2.完成类Mouse,实现接口USB,实现两个方法:
    work方法输出“我点点点”;
    stop方法输出 “我不能点了”;
    3.完成类UPan,实现接口USB,实现两个方法:
    work方法输出“我存存存”;
    stop方法输出 “我走了”;

4.测试类Main中,main方法中
定义接口变量usb1 ,存放鼠标对象,然后调用work和stop方法
定义接口数组usbs,包含两个元素,第0个元素存放一个Upan对象,第1个元素存放Mouse对象,循环数组,对每一个元素都调用work和stop方法。输出样例:

我点点点
我不能点了
我存存存
我走了
我点点点
我不能点了

参考答案:

  1. (主观题)(1分)
    设计一个名为Time 的类。这个类包含:表示时间的数据域hour、minute 和second。一个以当前时间创建Time 对象的无参构造方法(数据域的值表示当前时间)。一个构造Time 对象的构造方法,这个对象有一个特定的时间值,这个值是以毫秒表示的、从1970 年1 月丨日午夜开始现在流逝的时间段(数据域的值表示这个时间)。一个构造带特定的小时、分钟和秒的Time 对象的构造方法。三个数据域hour、minute 和second 各自的get 方法。— 个名为setTime(long elapseTime)的方法使用流逝的时间给对象设置一个新时间。例如,如果流逝的时间为 555550000 毫秒,則转换为 10 小时、 10 分钟、 10 秒。编写一个测试程序,创建两个 Time 对象(使用 new Time() 和 new Time( 555550000)), 然后显示它们的小时、分钟和秒.输入格式:
    输入毫秒
    输出格式:
    按照小时、分钟、秒显示
    输入样例:
    在这里给出一组输入。例如:
    555550000
    输出样例:
    在这里给出相应的输出。例如:
    Hour: 10 Minute: 19 Second: 10

参考答案:

  1. (主观题)(1分)
    求矩阵A+B的结果,程序给出部分代码,请在原来代码基础上填写完整,完成整个程序。
    import java.util.Scanner;
    //矩阵相加 C = A + B //写出方法调用
    public class Main {
    public static Scanner scan = new Scanner(System.in);
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    int m = scan.nextInt();//矩阵的行
    int n = scan.nextInt();//矩阵的列
    //创建二维数组a 行m,列n

            //调用方法 为a输入数据
    
            //创建二维数组b 行m,列n 
    
           //调用方法,为b输入数据
    
            //调用方法 求 a+b
    
    
            //输出结果
    
        }
        public static void inputData(int[][] arr){
            for(int i =0;iarr.length;i++)
                for(int j=0;jarr[i].length;j++)
                    arr[i][j] =scan.nextInt();
        }
        public static int[][] addMatrix(int[][]arr1,int[][]arr2){
            int [][] c = new int[arr1.length][arr1[0].length];
            for(int i =0;iarr1.length;i++)
                for(int j =0;jarr1[i].length;j++)
                    c[i][j] = arr1[i][j] + arr2[i][j];
            return c;
        }
        public static void showResult(int[][] arr){
            for(int i =0;iarr.length;i++){
                for(int j =0;jarr[i].length;j++)
                    System.out.print( +arr[i][j]);
                System.out.println();
            }
        }
    
        }
    

输入格式:
第一行通过键盘输入矩阵的行数和列数 第二行通过键盘输入矩阵A的元素,中间用空格隔开 第三行通过键盘输入矩阵B的元素 ,中间用空格隔开
输出格式:
输出矩阵相加的结果,每一行输出矩阵一行,每一个元素前面有一个空格
输入样例:
在这里给出一组输入。例如:
2 3 1 2 3 4 5 6 2 3 4 5 6 7
输出样例:
在这里给出相应的输出。例如:
3 5 7 9 11 13

参考答案:

  1. (主观题)(1分)
    实现一个名为People的类和它的子类Emp,Emp有两个子类Faculty和Teacher。
    各类实例变量描述如下:
    (1)People类中的属性有:姓名name(String类型),地址addr(String类型),电话号码tel(String类型)和电子邮件地址email(String类型);
    (2)Emp类中的属性有:办公室office(String类型),工资wage(double类型),受雇日期hiredate(java.util.Date类型);
    (3)Faculty类中的属性有:职务称号duty(String类型);
    (4)Teacher类中的属性有:学历degree(String类型),职称jobTitle(String类型);
    画出People、Emp、Faculty和Teacher类的UML类图。
    实现People、Emp、Faculty和Teacher类,每个类均有2个构造方法,其中1个不带任何参数,另一个是带参数的构造方法,用于初始化各类的实例变量;各类均需要提供每个实例变量的访问器和修改器。
    在main方法中,提示用户输入姓名、地址、电话号码、电子邮件、办公室、工资、职务信息,创建一个Faculty对象,并输出Faculty对象的姓名、地址、电话号码、电子邮件、办公室、工资、职务信息。提示用户输入姓名、地址、电话号码、电子邮件、办公室、工资、学历、职称信息,创建一个Teacher对象,并输出Teacher对象的姓名、地址、电话号码、电子邮件、办公室、工资、学历、职称信息。
    参考答案:

  2. (主观题)(1分)
    读程序,写出程序运行结果:
    class A{
    public A(){
    System.out.print(“A类无参构造方法 ”);
    }}
    class B extends A{
    public B(){
    System.out.print(“B类无参构造方法”);
    }}
    public class C{
    public static void main(String[] args){
    B b = new B();
    }
    }

参考答案:
A类无参构造方法 B类无参构造方法

  1. (主观题)(1分)
    读程序,写出程序运行结果:
    public class Demo4{
    public static void main(String[] args){
    String str = new String(welcome to China);
    for(int i = 0; istr.length(); i += 2){
    System.out.print(str.charAt(i));
    } } }

参考答案:
wloet hn

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5681540.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存