Java类与对象的课后练习编程题(java2实用教程P111)
这章内容自学完了,在做教材课后其他练习题的时候(只要自己仔细)都没啥问题,但在做最后一道上机编程题的时候问题出现了,在阅读题目的时候自己能感受到的是这道题不难(的确也不难),我也很快写了出来,但运行程序的时候,结果一直不正确,最后改来改去都不对,思路是对的,分步执行的时候也感觉是有个地方出了问题但就是揪不出来,最后又把课本的前面的例子反复的看对比,最后找到了问题:
System.out.println("cpu的速度:"+cpu);
System.out.println("硬盘的容量:"+HD);
在PC类中出现了这个错误,找到原因后觉得这个错误好低级,但总结出来就是这章知识不过关,对这章内容里面的很多关系很模糊比较杂,还没理清,所以自己还需要花时间在这章上面。再提醒自己撸代码的时候一定要记住注释要跟上。总的来说在这个周自学这章的内容还是很有收获的。自己加油!坚持!
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
CPU cpu =new CPU(); //创建一个cpu对象
cpu.setSpeed(2200); //cpu将speed设置为2200
HardDisk disk = new HardDisk(); //创建一个disk对象
disk.setAmount(200); //disk将amount设置为200
PC pc =new PC(); //创建一个pc对象
pc.setCPU(cpu);
pc.setHardDisk(disk);
pc.show();
}
}
public class PC {
CPU cpu = new CPU();
HardDisk HD = new HardDisk();
void setCPU(CPU c) {
this.cpu = c;
}
public void setHardDisk(HardDisk h) {
HD = h;
}
public void show() {
System.out.println("cpu的速度:"+cpu.speed);
System.out.println("硬盘的容量:"+HD.amount);
}
}
public class CPU {
int speed;
public void setSpeed(int m) {
this.speed = m;
}
int getSpeed() {
return speed;
}
}
public class HardDisk {
int amount;
public void setAmount(int m) {
this.amount=m;
}
int getAmount() {
return amount;
}
}
输出结果:
cpu的速度:2200
硬盘的容量:200