欢迎来到:文理人,西安文理学院校友论坛!WenLiRen.com已正式更名为“文理人校友网”
新手帮助
文理人QQ群
切换到宽版
账号
自动登录
找回密码
密码
登录
快速注册
只需一步,快速开始
快捷导航
首页
BBS
博客
校园新闻
新生资讯
校园活动
1#欢迎毕业的文理校友到此签到(欢迎冒泡)
2#欢迎论坛新人到此领报到,领取新手奖哦^_^
3#新手必读:小白如何玩转论坛?
#看帖#
#版块#
1#磨叽一下,分享此刻心情
2#写日志,记录此刻心情,做人气博主
3#晒照片,发美图,show出真自我
4#分享喜欢的网址、视频、音乐、Flash
搜索
搜索
热搜:
西安文理学院
宿舍
贴图
新生报到
沙井村
计算机
英语四级
考研
图书馆
本版
文章
帖子
日志
相册
小组
用户
文理人
»
首页
›
校友广场
›
电脑网络
›
java私塾跟我学-java篇 第4章课后答案
返回列表
发新帖
查看:
4306
|
回复:
1
java私塾跟我学-java篇 第4章课后答案
[复制链接]
solimh
当前离线
积分
270
IP卡
狗仔卡
solimh
发表于 2011-9-2 15:58:57
|
显示全部楼层
|
阅读模式
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
快速注册
×
java私塾跟我学-java篇 第4章课后答案
4.1创建一个构造方法重载的类,并用另一个类调用。
public class T1 {
public static void main(String[] args) {
Test t1 = new Test();
System.out.println(t1.toString());
Test t2 = new Test(5);
System.out.println(t2.toString());
Test t3 = new Test(7, 8);
System.out.println(t3.toString());
}
}
// 构造方法重载的类
class Test {
int x, y;
public Test() {
this.x = 0;
this.y = 0;
}
public Test(int x) {
this.x = x;
this.y = 0;
}
public Test(int x, int y) {
this.x = x;
this.y = y;
}
public String toString() {
return "(" + x + "," + y + ")";
}
}
复制代码
4.2创建Rodent(啮齿动物):Mouse(老鼠),Gerbil(鼹鼠),Hamster(大颊鼠)等的的一个继承分级结构。在基础类中,提供适用于所有Rodent的方法,并在衍生类中覆盖它们,从而根据不同类型的Rodent采取不同的行动。创建一个Rodent数组,在其中填充不同类型的Rodent,然后调用自己的基础类方法,看看会有什么情况发生。
public class T2 {
public static void main(String[] args) {
Rodent[] r = new Rodent[4];
r[0] = new Rodent();
r[1] = new Mouse();
r[2] = new Gerbil();
r[3] = new Hamster();
for (Rodent rr : r) {
rr.test();
}
}
}
class Rodent {
public void test() {
System.out.println("Rodent里的方法体test");
}
}
class Mouse extends Rodent {
public void test() {
System.out.println("Mouse里的方法体test");
}
}
class Gerbil extends Rodent {
public void test() {
System.out.println("Gerbil里的方法体test");
}
}
class Hamster extends Rodent {
public void test() {
System.out.println("Hamster里的方法体test");
}
}
复制代码
4.3编写MyPoint的一个子类MyXYZ,表示三维坐标点,重写toString方法用来显示这个对象的x、y、z的值,如显示(1,2,3),最后用main方法测试。
import cn.yufei.c3.MyPoint;
public class T3 {
public static void main(String[] args) {
MyXYZ m = new MyXYZ();
m.setX(4);
m.setY(8);
m.setZ(7);
System.out.println(m);
}
}
class MyXYZ extends MyPoint {
private int z;
public int getZ() {
return z;
}
public void setZ(int z) {
this.z = z;
}
public String toString() {
return "(" + getX() + "," + getY() + "," + z + ")";
}
}
复制代码
4.4 E 代码运行,屏幕上看到null
因为构造函数没有返回值,是为了区分构造函数和其它方法。在构造函数前加上void,编译可以通过,但编译器把它认为是方法,而不是构造函数,当然也无法在new的时候自动调用。
4.5 D 编译不通过
4.6 D line 7
new谁就调用谁的方法
4.7 运行结果:x=4
(注意b=false中用的是赋值运算符,而不是比较运算符)
4.8 C Hello Y
4.9 用到多线程的相关知识,留待以后解决
4.10 考察Math里的abs、floor、ceil、round方法
运行结果:
a=7
b=8
c=7
d=8
e=7
f=6
g=7
h=6
4.11 a)和d)
4.12 运行结果:t equals 8
4.13 CD
4.14
改法一:
static int a=9;
public static void show(int a)
改法二:
A t=new A();
t.a+=t.a;
t.show(t.a);
4.15 设计一个Circle类,其属性为圆心点(类型为前面设计的类MyPoint)和半径,并为此类编写以下三个方法:
一是计算圆面积的calArea()方法
二是计算圆周长的calLength()方法
三是boolean inCircle(MyPoint mp)方法,功能是测试作为参数的某个点
是否在当前对象圆内(圆内,包括圆上返回true;在圆外,返回false)。
package cn.yufei.c4;
import cn.yufei.c3.MyPoint;
public class Circle {
MyPoint mpt = new MyPoint();
double r;
public double calArea() {
return Math.PI * r * r;
}
public double calLength() {
return 2 * Math.PI * r;
}
public boolean inCircle(MyPoint mp) {
if (Math.hypot(mp.getX() - mpt.getX(), mp.getY() - mpt.getY()) <= r) {
return true;
}
return false;
}
public static void main(String[] args) {
Circle c = new Circle();
c.mpt.setX(4);
c.mpt.setY(0);
c.r = 6;
MyPoint mp = new MyPoint();
mp.setX(9);
mp.setY(11);
boolean b = c.inCircle(mp);
System.out.println("Centre of the circle :" + c.mpt + " \nradius:" + c.r);
System.out.println("Area:" + c.calArea() + "\n" + "Length:" + c.calLength());
if (b) {
System.out.println(mp + "is in circle.");
} else {
System.out.println(mp + "is not in circle.");
}
}
}
复制代码
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
抢沙发
显身卡
solimh
当前离线
积分
270
IP卡
狗仔卡
楼主
|
solimh
发表于 2011-9-10 15:20:33
|
显示全部楼层
java私塾课后习题集下载:
http://u.115.com/file/e65oeb94
回复
使用道具
举报
显身卡
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
快速注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
Copyright © 2008-2023
文理人
(https://www.wenliren.com) 版权所有 All Rights Reserved.
Powered by Discuz! X3.5
|
京ICP备19054389号-3
快速回复
返回顶部
返回列表