欢迎光临散文网 会员登陆 & 注册

Java练习

2022-11-13 14:26 作者:沐笙--ms  | 我要投稿


实验4  类与对象(1)

1.实验目的

使用类来封装对象的属性和行为。

2.实验介绍

类是JaVa中最重要的数据类型。类的目的是抽象出一类事物的共有属性和行为,即抽象据以及在数据上所进行的操作。类的类体由两部分组成:变量的声明和方法的定义,其中的方法(方法名与类名相同,无类型)用于创建对象,其他的方法供该类创建的对象调用。

3.实验内容

编写一个Java应用程序,该程序中有两个类:Tank (用于刻画坦克)和Fight(主类)。要求如下。

(1) Tank 类有一个 double 类型的变量 speed,用于刻画坦克的速度,一个 int 型bulletAmount,用于刻画坦克的炮弹数量。在Tank类中定义speedUp()和speedDown()方法体现坦克有加速、减速行为,定义setBulleAmount(int p)方法,用于设置坦克炮弹的数量,fire()方法,体现坦克有开炮行为。

(2) 在主类Fight的main方法中用Tank 类创建两辆坦克,并让坦克调用方法设置炮弹的数量,显示坦克的加速、减速和开炮行为。速度不能超过220,还有刹车。

4. 实验步骤与代码

import java.util.Random;

 

public class Fight {

 

public static void main(String[] args) {

Tank tank1,tank2;

tank1=new Tank();

tank2=new Tank();

Random rd=new Random();

int s=rd.nextInt(220)+1;  //定义tank1最大速度220

int d=rd.nextInt(220)+1;  //定义tank2最大速度220

tank1.setBulletAmount(10);

tank2.setBulletAmount(10);

System.out.println("tank1的炮弹数量:"+tank1.getBulletAmount());

System.out.println("tank2的炮弹数量:"+tank2.getBulletAmount());

tank1.speedUp(s);

tank2.speedUp(d);

System.out.println("tank1的目前速度:"+tank1.getSpeed());

System.out.println("tank2的目前速度:"+tank2.getSpeed());

tank1.speedDown(10);

tank2.speedDown(15);

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();

tank1.speedDown(220);  //让tank1速度为0

tank2.speedDown(220);  //让tank2速度为0

System.out.println("tank1刹车目前速度:"+tank1.getSpeed());

System.out.println("tank2刹车目前速度:"+tank2.getSpeed());

System.out.println("tank1的炮弹数量:"+tank1.getBulletAmount());

System.out.println("tank2的炮弹数量:"+tank2.getBulletAmount());


}

 

}

 

public class Tank {

 double speed;  //声明double型变量speed

     int bulletAmount;

   void speedUp(double s){

   speed=s+speed;

   }

   void speedDown(int d){

   if(speed-d>=0)

        speed=speed-d;

   else

   speed=0;

   }

   void setBulletAmount(int m){

   bulletAmount=m;

   }

   int getBulletAmount(){

   return bulletAmount;

   }

   double getSpeed(){

   return speed;

   }

     void fire(){

      if(bulletAmount>=1){

       bulletAmount=bulletAmount-1;

       System.out.println("打出一发炮弹");

      }

      else{

       System.out.println("没有炮弹了,无法开火!");

      }

     }

 

}

5.实验结果

  



Java练习的评论 (共 条)

分享到微博请遵守国家法律