您的当前位置:首页正文

java期末考试卷

2022-08-20 来源:易榕旅网
2015--2016学年第1学期教育技术学院期末考查卷

《Java程序设计(网络应用)》

学号: 201342010138 姓名: 王倩倩 班级: 13级1班

说明:

1. 程序调试不允许修改访问修饰符(如public、private等)。

3. 每一试题,按正确的文件格式保存为单独的文件。可建立以自己的名字命名的文件夹存放结果。

4. 在任务栏托盘右击“红蜘蛛”客户端图标,选择对应菜单命令提交测试结果。

5.提交实验报告与试题答案打印稿(打印稿按现有文档格式直接打印答案,时间:2015年12月28日)。

一、请依据类成员访问控制修饰符的作用范围,在下列表格对应单元格中打上对号(√,共10分)。 同一类 同一包中的类 不同包中的子类 其它包中的类 private √ default √ √ protected √ √ √ public √ √ √ √ 二、阅读下列程序,并调试修改其中的错误(每小题20分,共60分)

(1) 下面是多线程的应用程序,请修改其中错误的部分(20) 程序名:ThreadDemo.java

public class ThreadDemo3(修改:ThreadDemo) {

public static void main(String [] args){ }

public void run(){

while(true){

System.out.println(Thread.currentThread().getName()+”is TestThread tt=new TestThread(); Thread t=new Thread(tt);

t.run();修改:t.start();

while(true){ }

System.out.println(“main thread is running”); }

class TestThread implements Runnable {

running”);

}

}

}

修改后代码:

public class ThreadDemo {

public static void main(String[] args) {

TestThread tt=new TestThread(); Thread t=new Thread(tt); t.start();

System.out.println(\"main thread is running\"); } }

class TestThread implements Runnable {

public void run() {

while(true) {

System.out.println(Thread.currentThread().getName()+ \" is running\"); } } }

(2) 下面程序涉及异常问题,调试修改程序让其正常运行(20分) 程序名:TestException

public class TestException2(修改:TestException) {

public static void main(String [] args) {

修改:try

{

int result=new Test().devide(3,0);

System.out.println(\"the result is\"+result); }

catch(Exception e) {

System.out.println(e.getMessage()); }

System.out.println(“program normal!”);

}

}

class Test{

public int devide(int x,int y){

int result=x/y; return x/y; }

}

is

running

here,that

is

修改后代码:

public class TestException {

public static void main(String [] args) { try {

int result=new Test().devide(3,0);

System.out.println(\"the result is\"+result); }

catch(Exception e) { } }

class Test{

public int devide(int x,int y){ int result=x/y; return x/y; } }

System.out.println(e.getMessage()); }

System.out.println(\"program is running here,that is normal!\");

(3) 下面程序涉及数据类型转换问题,阅读并调试修改程序错误(20分) 程序名:ThreadDemo5.java

class test{

public static void main(String [] args){

byte b=5;

b=b-2;修改:b= (byte)(b-2);

system.out.println(b); } }

修改后代码:

class test{

public static void main(String [] args){ byte b=5;

b= (byte)(b-2); System.out.println(b); } }

三、分析调试以下程序代码,并写出其运行结果(10分)

class A { }

class B extends A { }

class C {

public static void main(String[] args) { }

public static void callA(A a) {

a.func1(); B b = new B(); A a = b; callA(a); callA(new B()); public void func1() { }

public void func3() { }

System.out.println(\"B func3 is calling\"); System.out.println(\"B func1 is calling\"); public void func1() { }

public void func2() { }

func1();

System.out.println(\"A func1 is calling\");

}

}

a.func2();

运行结构截图:

四、用循环语句完成显示乘法表功能的程序(20分)

1*1=1

2*1=2 2*2=4

3*1=3 3*2=6 3*3=9 4*1=4 4*2=8 4*3=12 4*4=16

5*1=5 5*2=10 5*3=15 5*4=20 5*5=25

6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36

7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49

8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81

代码:

class Cfb {

public static void main(String[] args) { for(int x=1; x<=9; x++) { for(int y=1; y<=x; y++) {

System.out.print(y+\"*\"+x+\"=\"+y*x+\"\\"); }

System.out.println(); } } }

运行结果:

因篇幅问题不能全部显示,请点此查看更多更全内容