java习题解答 联系客服

发布时间 : 星期日 文章java习题解答更新完毕开始阅读71ab28dd680203d8ce2f24a5

fast.step++; } }

public static void main(String args[]) { Exercises6_3 a = new Exercises6_3(); Dog d = a.new Dog(\ d.step = 29; d.run(d); System.out.println(\ }

}

运行结果是:( ) 30

4.分析下面的程序,写出运行结果。

class Aclass { void go() { System.out.println(\ }

public class Bclass extends Aclass {

void go() { System.out.println(\

public static void main(String args[]) { Aclass a = new Aclass(); Aclass a1 = new Bclass(); a.go(); a1.go(); } }

运行结果是:( )

Aclass Bclass

六、改错题

1.找出下面代码的错误部分,说明错误类型及原因,并更正之。 public class Car {

private String carName; public int mileage;

private static final int TOP_SPEED = 200; abstract void alert();

public static int getTopSpeed() { return TOP_SPEED; }

public static void setCarName() { carName = \奥迪\ }

public static void setMileage() {

mileage = 180; } }

错误:因为含有抽象方法的类,必须是抽象类;静态方法只能访问静态成员。

更正:

public abstract class Car { }

private String carName; public int mileage;

private static final int TOP_SPEED = 200; abstract void alert();

public static int getTopSpeed() { return TOP_SPEED; }

public void setCarName() { carName = \奥迪\; }

public void setMileage() { mileage = 180; }

2.下列代码不能编译的原因是:( )。 class A {

private int x;

public static void main(String args[]) { new B(); } class B { B() {System.out.println(x); } } }

因为在A类的main方法中,还没有A的实例就要试图生成内部类的实例。 更正如下:

public class A { }

private int x;

public static void main(String args[]) { A a = new A(); a.new B(); }

class B { B() { } }

System.out.println(x);

七、编程题

1.先在一个包中编写第一个类ClassA,要求该类中具有四种不同访问权限的成员,再在另一个包中编写第二个类ClassB,并在该类中编写一个方法以访问第一个类中的成员。总结类成员访问控制的基本规则。

2.设计一个汽车类Car,实现构造方法的重载,然后利用这些构造方法,实例化不同的对象,输出相应的信息。

3.设计一个乘法类Multiplication,在其中定义三个同名的mul方法:第一个方法是计算两个整数的积;第二个方法是计算两个浮点数的积;第三个方法是计算三个浮点数的积。然后以Java Applet程序方式调用这三个同名的方法mul,输出其测试结果。

4.已知编一个抽象类AbstractShape如下所示: abstract class AbstractShape { final double PI=3.1415926;

public abstract double getArea(); public abstract double getGirth(); }

请编写AbstractShape类的一个子类,使该子类实现计算圆面积方法getArea()和周长的方法getGirth()。

5.按下列要求编程:

(1)编写一个抽象类,至少有一个常量和一个抽象方法。 (2)编写二个抽象类的子类,重写定义抽象类中的抽象方法。 (3)编写一个主类使用3个类,进行某种运算。

6.设计一个形状Shapes接口,在其中定义计算面积的getArea( )方法和求周长的getPerimeter( )方法,然后设计一个Circle类以实现Shapes接口中的两个方法,最后以Java Application程序方式测试前述接口及其实现类,输出其测试结果。

7.使用继承和接口技术,编写一个程序,求解几何图形(如直线、三角形、矩形、圆和多边形)的周长和面积。

8.使用继承和接口技术,编写一个程序,求解一元多次方程(如一元一次、一元二次和一元高次方程)的解。

9.使用内部类技术构造一个线性链表。

10.参照例4-30以组合方式创建某类的适配器。

第5章 Java标准类库

习 题 五

一、简答题

1.计算调用下列方法的结果。

Math.sqrt(4); // 2.0 Math.pow(4, 3); // 64.0 Math.max(2, Math.min(3, 4)); // 3

2.下列程序中构造了一个set并且调用其方法add(),输出结果是( 2 )。

import java.util.*; public class T1_2 {

public int hashCode() { return 1; }

public boolean equals(Object b) { return true; }

public static void main(String args[]) { Set set = new HashSet(); set.add(new T1_2()); set.add(new String(\ set.add(new T1_2()); System.out.println(set.size()); } }

3.Collection有哪几种主要接口? (Collection、List、Map、Set) 4.基本的集合接口有哪些?

5.映射、集合和列表的含义是什么? 6.HashMap类和TreeMap类有何区别? 7.HashSet类和Treeset类有何区别?

8.ArrayList类和LinkedList类有何区别? 二、选择题

1.可实现有序对象的操作有哪些?( CD )

A.HashMap B.HashSet C.TreeMap D.LinkedList 2.迭代器接口(Iterator)所定义的方法是( ABC )。 A.hasNext() B.next()

C.remove() D.nextElement() 3.下列方法属于java.lang.Math类的有(方法名相同即可)( ABCD )。 A.random() B.abs() C.sqrt() D.pow() 4.指出正确的表达式有( AB )。

A.double a=2.0; B.Double a=new Double(2.0); C.byte A= 350; D.Byte a = 120; 5.System类在哪个包中?( B )

A.java.awt B.java.lang C.java.util D.java.io 6.关于Float,下列说法正确的是( ACD )。

A.Float在java.lang包中 B.Float a=1.0是正确的赋值方法