d. a 和 b都是程序错误的根源。
34. 下面的代码错在哪里?
public class Foo {
public void method1() { Circle c;
System.out.println(\ c = new Circle(); } }
a. 程序有一个编译错误,因为类Foo没有main方法
b. 程序有一个编译错误,因为类Foo没有缺省构造方法 c. 程序在println语句处有一个编译错误,因为变量c没有被初始化
d. 程序编译错误,但是有一个运行错误,因为当变量println 语句执行的的时候,c的值为null。 35. 运行下列程序的输出结果为:
class A {
public A() {
System.out.println(
\ } }
class B extends A { public B(String s) { System.out.println(s); } }
public class C {
public static void main(String[] args) {
B b = new B(\ } }
a. 无输出 b. \c. \
\
d. \
\
e. \
36. 分析下列代码:
public class Test {
public static void main(String[] args) { int[] x = {0, 1, 2, 3, 4, 5}; xMethod(x, 5); }
public static void xMethod(int[] x, int length) { for (int i = 0; i < length; i++) System.out.print(\ } }
a. 程序显示 0 1 2 3 4
b. 程序显示 0 1 2 3 4 ,并且发生一个运行时错误 c. 程序显示0 1 2 3 4 5
d. 程序显示0 1 2 3 4 5,并且发生一个运行时错误 37. 分析下面的代码:
class Test {
public static void main(String[] args) { A a = new A(\ a.print(); } }
class A { String s;
A(String s) { this.s = s; }
private void print() { System.out.println(s); } }
a.程序编译正确,但是有一个运行时错误,因为print()是私有的. b. 程序有语法错误,因为print()是私有的
c. 程序运行正确并且在屏幕上显示:Test. d. 以上答案均不正确
二、程序阅读题
1.写出程序的运行结果。 public class Test{
public static void main(String [] args) { A a = new A(3); } }
class A extends B { public A(int t) {
Syestem.out.println(\ } }
class B {
public B() {
System.out.println(\ } }
2. 写出程序的运行结果: class A {
public A() {
System.out.println(
\ } }
class B extends A { public B(String s) {
System.out.println(s); } }
public class C {
public static void main(String[] args) {
B b = new B(\ } }
3. 写出程序运行结果:
import java.util.*;
public class Test extends Object {
public static void main(String[] args) { Date d1 = new Date();
Date d2 = new Date(349324); Date d3 = d1;
Date d4 = (Date)d1.clone();
System.out.println(\ System.out.println(\ System.out.println(\ System.out.println(\ } }
4. 阅读以下程序,输出结果为 。 import java.io.*; public class MyTest {
public static void main(String args[]) {
int i=0; int j=5;
for(;i<=j;j--,i++);
System.out.println(\System.out.println(\ } }
5. 阅读以下程序,输出结果为 。 public class Sum
{ public static void main( String args[ ]) { double sum = 0.0 ;
for ( int i = 1 ; i <= 5; i + + )
sum += 1.0/(double) i ;
System.out.println( \} }
6. 阅读以下程序,输出结果为 。
import java.io.*;
public class Class1 {
public static void main(String args[ ]){ int i , Max , Min ;
int a[ ] = { 12,67,8,98,23,56,124,55,99,100 }; Max = Min = a[0];
for ( i = 1 ; i < a.length; i ++ ) {
if ( a[i]
}
System.out.println( Max+\ System.out.println( ); } }
三、程序查错及改错题
1.标出下列程序段中的错误及错误原因,并写出改正的方法。 class Test{
public static void main(String [] args) { A a = new A(); a.print(); } }
class A { String s;
A(String s) { this.s = s; }
public void print() { System.out.print(s); } }
2.指出程序的错误,并解释错误的原因和改正方法。
class A{
public A(int x) { }