Java习题(第3-4章)

时间:2024-04-30 10:05:50 5A范文网 浏览: 平时作业 我要投稿

第三章    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";

       }

}

来源:网络整理 免责声明:本文仅限学习分享,如产生版权问题,请联系我们及时删除。

相关文章:

&quot;驾鹤西行&quot;是&quot;去世&quot;的一种委婉的04-30

初中生为什么会出现数学偏科现象?有什么解决办法?04-30

()的姿势填空,04-30

将74本课外书分给18名跳绳比赛获得一、二等奖的每人得04-30

设V是迹为0的二阶复方阵全体,证明V是IR上的线性空间04-30

画出一个八度范围内的钢琴键盘图,并在每一个黑,白键上04-30

two属于什么词性04-30

指出下列四组成语的来源简洁一些1守株待兔与虎谋皮胶04-30

一光滑斜面高h=1m,长L=4m,重200N的物体在沿斜面向上的拉04-30

crew是单数还是复数04-30

热搜文章
最新文章