第三章 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";
}
}
上一页12下一页 |
来源:网络整理 免责声明:本文仅限学习分享,如产生版权问题,请联系我们及时删除。
相关文章:
"驾鹤西行"是"去世"的一种委婉的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