编写一个Tank类,实现炮弹发射计数。
package step1;
class Tank {
// ---begin---
// 【代码 1】包含两个变量double 型变量 speed,刻画速度
double speed;
// 【代码 2】int 型变量 bulletAmount,刻画炮弹数量
int bulletAmount;
//speedUp(int s) 加速方法,将 s+speed 赋值给 speed
public void speedUp(int s) {
// TODO Auto-generated method stub
speed = s+speed;
}
// speedDown(int d) 加速方法,将 speed-d 赋值给 speed,如果速度 speed-d<0,不再减速,速度设定为0
public void speedDown(int d) {
// TODO Auto-generated method stub
speed -= d;
if (speed < 0) {
speed = 0;
}
}
void setBulletAmount(int m) {
bulletAmount = m;
}
int getBulletAmount() {
return bulletAmount;
}
double getSpeed() {
return speed;
}
//fire() 开火方法,每开一次,输出:打出一发炮弹,且炮弹数量bulletAmount减1。
//如果炮弹数量低于1,输出:没有炮弹了,无法开火
public void fire() {
// TODO Auto-generated method stub
bulletAmount--;
if (bulletAmount<1) {
System.out.println("没有炮弹了,无法开火");
}else {
System.out.println("打出一发炮弹");
}
}
// ---end---
}
public class Fight {
public static void main(String args[]) {
Tank tank1,tank2;
tank1 = new Tank();
tank2 = new Tank();
tank1.setBulletAmount(10);
tank2.setBulletAmount(10);
System.out.println("tank1 的炮弹数量: "+tank1.getBulletAmount());
System.out.println("tank2 的炮弹数量: "+tank2.getBulletAmount());
tank1.speedUp(80);
tank2.speedUp(90);
System.out.println("tank1 目前的速度: "+tank1.getSpeed());
System.out.println("tank2 目前的速度: "+tank2.getSpeed());
tank1.speedDown(15);
tank2.speedDown(30);
System.out.println("tank1 目前的速度: "+tank1.getSpeed());
System.out.println("tank2 目前的速度: "+tank2.getSpeed());
System.out.println("tank1 开火: ");
tank1.fire();
System.out.println("tank2 开火: ");
tank2.fire();
tank2.fire();
System.out.println("tank1 的炮弹数量: "+tank1.getBulletAmount());
System.out.println("tank2 的炮弹数量: "+tank2.getBulletAmount());
}
}
计算机与光盘
测试输入:无;
预期输出:
dataCD 上的内容:
1 2 3 4 5 6 7 8
将 dataCD 的数据复制到计算机:computerIMB.
computerIMB 上的内容:
1 2 3 4 5 6 7 8
computerIMB 将每个数据增加12
computerIMB 将增值后的数据复制到 CD:dataCD
dataCD 上的内容:
13 14 15 16 17 18 19 20
package step3;
class FamilyPerson {
static String surname;
String name;
public static void setSurName(String s){
surname = s;
}
public void setName(String s) {
name = s;
}
}
public class MainClass {
public static void main(String args[]) {
//【代码】用类名 FamilyPerson 访问 surname,并为 surname 赋值:"李"
FamilyPerson.surname="李";
FamilyPerson father,sonOne,sonTwo;
father = new FamilyPerson();
sonOne = new FamilyPerson();
sonTwo = new FamilyPerson();
//【代码】father 调用 setName(String s),并向 s 传递"向阳"
father.setName("向阳");
sonOne.setName("抗日");
sonTwo.setName("抗战");
System.out.println("父亲:"+father.surname+father.name);
System.out.println("大儿子:"+sonOne.surname+sonOne.name);
System.out.println("二儿子:"+sonTwo.surname+sonTwo.name);
// 【代码】father 调用 setSurName(String s),并向 s 传递"张"
father.setSurName("张");
System.out.println("父亲:"+father.surname+father.name);
System.out.println("大儿子:"+sonOne.surname+sonOne.name);
System.out.println("二儿子:"+sonTwo.surname+sonTwo.name);
}
}
家族的姓氏
package step3;
class FamilyPerson {
static String surname;
String name;
public static void setSurName(String s){
surname = s;
}
public void setName(String s) {
name = s;
}
}
public class MainClass {
public static void main(String args[]) {
//【代码】用类名 FamilyPerson 访问 surname,并为 surname 赋值:"李"
FamilyPerson.surname="李";
FamilyPerson father,sonOne,sonTwo;
father = new FamilyPerson();
sonOne = new FamilyPerson();
sonTwo = new FamilyPerson();
//【代码】father 调用 setName(String s),并向 s 传递"向阳"
father.setName("向阳");
sonOne.setName("抗日");
sonTwo.setName("抗战");
System.out.println("父亲:"+father.surname+father.name);
System.out.println("大儿子:"+sonOne.surname+sonOne.name);
System.out.println("二儿子:"+sonTwo.surname+sonTwo.name);
// 【代码】father 调用 setSurName(String s),并向 s 传递"张"
father.setSurName("张");
System.out.println("父亲:"+father.surname+father.name);
System.out.println("大儿子:"+sonOne.surname+sonOne.name);
System.out.println("二儿子:"+sonTwo.surname+sonTwo.name);
}
}
幂的类封装
package step4;
class Mi {
/*类Mi
成员变量 double型diShu,zhiShu
含参构造方法Mi(double a,double b)
输出方法shuChu(),按幂的形式输出结果,如 2^4
获取底数方法getDiShu(),返回幂的底数
获取指数方法getZhiShu(),返回幂的指数
muti(Mi r) 计算同底数幂的乘法,指数相加;底数不同,报错
div(Mi r) 计算同底数幂的除法,指数相减;底数不同,报错
power(Mi r) 计算同底数幂的乘方
*/
double diShu, zhiShu;
//---begin---
Mi(double a, double b) {
diShu = a;
zhiShu = b;
}
//【代码】声明double型变量diShu,zhiShu
//【代码】含参构造方法,将参数赋值给变量diShu,zhiShu
double getDiShu() {
return diShu;
}
double getZhiShu() {
return zhiShu;
}
void shuChu() {
if (diShu == 0)
System.out.print(0);
else if (zhiShu == 0)
System.out.print(1);
else if (diShu < 0 && zhiShu > 0)
System.out.print("(" + diShu + ")" + "^" + zhiShu);
else if (diShu > 0 && zhiShu < 0)
System.out.print(diShu + "^" + "(" + zhiShu + ")");
else if (zhiShu < 0 && diShu < 0)
System.out.print("(" + diShu + ")" + "^" + "(" + zhiShu + ")");
else
System.out.print(diShu + "^" + zhiShu);
}
Mi muti(Mi r) {// 同底数幂的乘法运算
return new Mi(r.diShu, this.zhiShu+r.zhiShu);
}
Mi div(Mi r) {// 同底数幂的除法运算
return new Mi(r.diShu, this.zhiShu-r.zhiShu);
}
Mi power(double r) {// 同底数幂的乘方运算
return new Mi(diShu, zhiShu*r);
}
}
public class MainClass {
public static void main(String[] args) {
Mi r1=new Mi(4,4);
Mi r2=new Mi(4,2);
double r=3;
System.out.println("幂的乘法");
Mi Result=r1.muti(r2);
Result.shuChu();
System.out.println("\n幂的除法");
Result=r1.div(r2);
Result.shuChu();
System.out.println("\n幂的乘方");
Result=r1.power(r);
Result.shuChu();
}
}