Java习题(第3-4章)

所属学校:中央电大 科目:企业集团财务管理 2015-03-17 15:47:49

第三章    1. 答:对象是现实世界中客观存在的实体。每个对象一般具有两方面的特征:状态和行为。状态用来描述对象的静态特征,行为用来描述对象的动态特征。类是具有相似特征和行为的对象集合。对象之间的联系是通过消息传递实现的。

2. 答:窗口的状态可以有:大小、是否可见等。窗口的行为可以有:关闭、打开、最大化、最小化等。

3. 答:用类描述如下:

class TV{

   Stirng factory;                   // 生产厂家

   int size;                          // 尺寸

   double price;                     // 价格

   void open();                      // 打开

   int changeChannel(int n);       // 改变频道

   void voiceUp(int voice);        // 增大声音

void voiceDown(int void);       // 减小声音

   void close();                     // 关闭

}

4. 答:方法应定义在类体中,需要指定方法的访问修饰符、返回值、方法名、参数类型和参数名,用一对大括号指定方法体。调用方法一般通过对象名调用。构造方法用来创建对象,普通方法是在对象上执行操作。

5. 答:如果参数是基本数据类型的变量,则将变量值的副本传递给方法,方法调用结束后对原来变量的值没有影响。如果参数是引用类型的变量,是将变量的引用(地址)传递给方法,方法调用结束后原来的引用值不改变,但在方法体中可能改变对象的状态。

6. 答:构造方法和普通方法都可以重载。构造方法重载目的是提供多种创建对象的方式。普通方法的重载是用相同名称完成不同操作。

7. 答:没有用static修饰的成员是实例成员(实例变量和实例方法),用static修饰的成员是类成员(类变量和类方法)或静态成员。实例成员只能用实例名访问,类成员可以用实例名,也可以用类名访问。

8. 答:参阅教材3.5.3节的叙述。

9. 答:参阅教材3.3.3节的叙述。

10. 答:参阅教材3.6节的内容。

11. 答:使用import static java.lang.Math.*;语句是将Math类的静态成员和静态方法导入。程序中使用这些静态成员时无需加Math类名。

12. 答:

(1) String s=null; (2)去掉void (3) int data = 10; 前加static

(4) 去掉static或在int data = 10; 前加static

13. 答:double

14. 答:不能。odd()方法的返回值为int,而if的条件表达式应该为boolean型。

15. 答:j=1           16.答:i=4           17.答:100

18. 答:ACD     19.答:ACD          20.答:AC

21. 答:A     22.答:A

23. 答:

j = 100

InitDemo.j = 100

i = 5

j = 10

j = 1000

aa.j = 500

24. 代码如下:

public double distance(Point p){

  double xdiff = x – p.x;

  double ydiff = y – p.y;

  return Math.sqrt(xdiff * xdiff + ydiff * ydiff);

}

25. 参考程序如下:

public class Person {

       String name;

       int age;

       public void setName(String name){

     this.name = name;

       }

       public String getName(){

     return name;

       }

       public void setAge(int age){

     this.age = age;  

       }

       public int getAge(){

     return age;  

       }

       public void speak(){

      System.out.println("Name="+name);

      System.out.println("Age="+age);

       }

       public static void main(String[]args){

     Person p = new Person();

     p.setName("LiMing");

     p.setAge(20);

     p.speak();

     System.out.println(p.getName());

     System.out.println(p.getAge());

       }

}

26. 参考程序如下:

public class Rectangle{

double length;

double width;

public void setLength(double length){

this.length = length;

}

public double getLength(){

return length;

}

public void setWidth(double width){

this.width = width;

}

public double getWidth(){

return width;

}

public double perimeter(){

return 2*(length+width);

}

public double area(){

return length*width;

}

}

public class RectDemo{

public static void main(String args[]){

  Rectangle rect = new Rectangle();

     rect.setLength(20);

     rect.setWidth(10);

   System.out.println("该矩形的长为:"+rect.getLength());

   System.out.println("该矩形的宽为:"+rect.getWidth());

   System.out.println("该矩形的周长为:"+rect.perimeter());

   System.out.println("该矩形的面积为:"+rect.area());

}

}

27. 参考程序如下:

public class Rectangle{

double length;

double width;

public Rectangle(double length,double width){

this.length = length;

this.width = width;

}

public Rectangle(){

this(0.0,0.0);

}

public void setLength(double length){

this.length = length;

}

public double getLength(){

return length;

}

public void setWidth(double width){

this.width = width;

}

public double getWidth(){

return width;

}

public double perimeter(){

return 2*(length+width);

}

public double area(){

return length*width;

}

}

public class RectDemo{

public static void main(String args[]){

Rectangle rec1 = new Rectangle(20,10);

System.out.println("该矩形的长为:"+rec1.getLength());

System.out.println("该矩形的宽为:"+rec1.getWidth());

System.out.println("该矩形的周长为:"+rec1.perimeter());

System.out.println("该矩形的面积为:"+rec1.area());

System.out.println();


Rectangle rec2 = new Rectangle();

System.out.println("该矩形的长为:"+rec2.getLength());

System.out.println("该矩形的宽为:"+rec2.getWidth());

System.out.println("该矩形的周长为:"+rec2.perimeter());

System.out.println("该矩形的面积为:"+rec2.area());

System.out.println();


rec2.setLength(100);

rec2.setWidth(50);

rec2.setColor("YELLOW");

System.out.println("该矩形的长为:"+rec2.getLength());

System.out.println("该矩形的宽为:"+rec2.getWidth());

System.out.println("该矩形的颜色:"+rec2.getColor());

System.out.println("该矩形的周长为:"+rec2.perimeter());

System.out.println("该矩形的面积为:"+rec2.area());

}

}

28. 参考程序如下:

public class Triangle{

double a,b,c;

public Triangle(){

this.a = 0; this.b = 0; this.c = 0;

}

public Triangle(double a, double b, double c){

this.a = a; this.b = b; this.c = c;

}

public double area(){

  double s = (a + b + c) / 2.0;

  return Math.sqrt(s * (s-a) * (s-b) * (s-c));

}

public static void main(String[] args){

  Triangle ta = new Triangle(3, 4, 5);

  System.out.println(ta.area());

}

}

29. 参考程序如下:

import java.util.Scanner;

public class Input{

static Scanner sc = new Scanner(System.in);

public static byte readByte(){

   System.out.print("Please input a byte value:");

 return sc.nextByte();

}

public static short readShort(){

 System.out.print("Please input a short value:");

 return sc.nextShort();

}

public static int readInt(){

 System.out.print("Please input a int value:");

 return sc.nextInt();

}

public static long readLong(){

   System.out.print("Please input a long value:");

 return sc.nextLong();

}

public static float readFloat(){

   System.out.print("Please input a float value:");

 return sc.nextFloat();

}

public static double readDouble(){

 System.out.print("Please input a double value:");

 return sc.nextDouble();

}

public static boolean readBoolean(){

   System.out.print("Please input a boolean value:");

 return sc.nextBoolean();

}

public static void main(String args[]){

  double d = Input.readDouble();

   System.out.println("d = " + d);

}

}

30. 参考程序如下:

public class ComplexNumber{

       private double realPart;

       private double imaginaryPart;

public ComplexNumber(){     // 默认构造方法

       }

       public ComplexNumber(double r,double i){

          this.realPart = r;

          this.imaginaryPart = i;

       }

       public double getRealPart(){

          return realPart;

       }

       public double getImaginaryPart(){

          return imaginaryPart;

       }

       public void setRealPart(double d){

          this.realPart=d;

       }

       public void setImaginaryPart(double d){

          this.imaginaryPart=d;

       }

       public ComplexNumber complexAdd(ComplexNumber c){

          ComplexNumber temp=new ComplexNumber(0.0,0.0);

          temp.setRealPart(this.getRealPart()+c.getRealPart());

          temp.setImaginaryPart(this.getImaginaryPart()+

c.getImaginaryPart());

          return temp;

       }

       public ComplexNumber complexMinus(ComplexNumber c){

          ComplexNumber temp=new ComplexNumber(0.0,0.0);

          temp.setRealPart(this.getRealPart()-c.getRealPart());

          temp.setImaginaryPart(this.getImaginaryPart()-

c.getImaginaryPart());

          return temp;

       }

      public ComplexNumber complexMulti(ComplexNumber c){

          ComplexNumber temp=new ComplexNumber(0.0,0.0);  

temp.setRealPart(this.getRealPart()*c.getRealPart()+

this.getImaginaryPart()*c.getImaginaryPart());

temp.setImaginaryPart(this.getImaginaryPart()*c.getRealPart()+

this.getRealPart()*c.getImaginaryPart());

          return temp;

       }

       public String toString(){

          if(realPart==0.0)

              return imaginaryPart+"i";

          if(imaginaryPart==0.0)

              return realPart+"";

          if(imaginaryPart<0.0)

              return realPart+""+imaginaryPart+"i";

          else

              return realPart+"+"+imaginaryPart+"i";

       }

}

版权声明

声明:有的资源均来自网络转载,版权归原作者所有,如有侵犯到您的权益 请联系本站我们将配合处理!

分享: