《Java程序设计》练习题 下载本文

class Person{

public Person(){

System.out.println(\ }

public Person(String s){ this();

System.out.println(\ } }

public class Who extends Person{ public Who(){

this(\ }

public Who(String s){ super(s);

System.out.println(\ }

public static void main(String args[]){ Who w = new Who(\ } }

5、阅读下面的程序,程序保存为Test.java:

1) public class Test 2) {

3) short mValue;

4) public static void main(String[] args) 5) {

6) int a = 32; 7) int b = 56;

8) Test os = new Test(a+b); 9) os.Show( ); 10) }

11) protected Test(short aValue) { mValue = aValue; } 12) public void Show( ) { System.out.println(mValue); } 13) }

上面的程序编译是否成功?如果编译出错,指出哪行出错,并说明理由;如果编译正确,运行结果是什么?

6、阅读下面的程序:

class test {

public static void main(String[] args)

第 17 页 共 48 页

{

int i = 1; int All = 0; for (;i<=10;i++) {

if (i%6==0) break;

if(i%2==0) {i=i+2;continue;} All = All + i; }

System.out.println(All); } }

上面的程序编译是否成功?如果编译出错,指出哪行出错,并说明理由;如果编译正确,运行结果是什么? 6

7、阅读下面的程序:

1) public class test 2) {

3) public static void main(String argv[]) 4) {

5) Bird b = new Bird(); 6) b.Fly(3); 7) } 8) }

9) class Bird{

10) static int Type = 2;

11) private void Fly(int an_Type){ 12) Type = an_Type;

13) System.out.println(\14) } 15) }

上面的程序编译是否成功?如果编译出错,指出哪行出错,并说明理由;如果编译正确,运行结果是什么?

8、写出下列程序代码的运行结果: public class Example{

String str=new String(\ char ch[]={'J','a','v', 'a'};

public static void main(String args[]){ Example ex=new Example(); ex.change(ex.str,ex.ch); System.out.println(ex.str);

System.out.println(new String(ex.ch)); }

第 18 页 共 48 页

}

public void change(String str,char ch[]){

str=\ch[0]= 'Y'; }

9、阅读下面的程序TestMonth.java: public class TestMonth{

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

int month=Integer.parseInt(args[0]); if(month<0||month>12){

throw new ArithmeticException(\没有\月份!\ }

System.out.println(\您输入的月份为\月份\ }catch(ArrayIndexOutOfBoundsException e){ System.out.println(\请输入月份!\ }catch(ArithmeticException e){

System.out.println(\捕获ArithmeticException异常\ System.out.println(e.toString()); } } }

已知ArrayIndexOutOfBoundsException和ArithmeticException都是java.lang.*下的异常类,编译TestMonth.java后,用java TestMonth 13的运行结果是什么?

10、写出下列程序代码的运行结果:

class userException extends Exception{ userException(){}

userException(String str){ super(str); } }

class MyException {

final static int ARRAY_MAX_LENGTH=10; void judge(int []a){ try{

if(a.length

System.out.println(\数组的长度没有超过规定的最大值!\ } else{

throw new userException(\数组可能越界!\ }

}catch(userException e){

第 19 页 共 48 页

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

finally{

System.out.println(\退出返回!\ } }

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

int a[]=new int[10];

MyException myE=new MyException(); myE.judge(a);

}catch(Exception e){

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

11、阅读下面代码片段,写出输出结果。(如果代码有错,请写出错误原因) public class ExceptionExample {

public static void main(String[] args) { int a = 8; int b = 2; int c = 0; try{

c = a/(b-2);

System.out.println(\计算结果:\

}catch(ArithmeticException arithmeticException) { System.out.println(\捕获了一个零除异常\ }catch(Exception exception) {

System.out.println(\捕获了一个异常\ } } }

12、阅读下面代码片段,找出其中的错误并改正其中的错误。 import java.awt.*;

import java.awt.event.*; import javax.swing.*;

public class ButtonTest extends JFrame { private JButton plainButton, fancyButton; public ButtonTest() {

super( \

Container container = getContentPane(); container.setLayout( new FlowLayout() );

第 20 页 共 48 页