头歌java实验3

编写一个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();
	}

}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值