Tank类

编写一个Java应用程序该程序中有两个类:Tank(用于刻画坦克)和Fight(主类)。在创建类时,所有的类的名字命名加上自己的姓名拼音首字母(例如:张三,命名为Tank_ZS、Fight_ZS),具体要求如下:

(1)Tank类有一个double类型的变量speed用于刻画坦克的速度;一个int型变量 bulletAmount,用于刻画坦克的炮弹数量。Tank类定义了speedUp()和speedDown()方法,体现克有加速、减速行为;定义了setBulletAmount(intp)方法,用于设置坦克炮弹的数量;定义了fire))方法,体现坦克有开炮行为。Tank类的UML图如图4.2所示。

(2)在主类Fight的main方法中用Tank类创建坦克并让坦克调用方法设置炮弹的数量,显示坦克的加速、减速和开炮等行为。

Flight.java


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());tank1.speedUp(230);tank2.speedUp(240);System.out.println("tank1目前的速度:"+tank1.getSpeed());System.out.println("tank2目前的速度:"+tank2.getSpeed());tank1.brake();tank2.brake();System.out.println("tank1目前的速度:"+tank1.getSpeed());System.out.println("tasnk2目前的速度:"+tank2.getSpeed());}
}

Tank.java


public class Tank {double speed;//声明double型变量speed,刻画速度int bulletAmount;//声明int型变量bulletAmount,刻画炮弹数量void speedUp(int s) {      speed += s;//将s+speed赋值给speedif(speed>=220) {speed = 220;}}void speedDown(int d) {  if(speed-d>=0)speed -= d;//将speed-d赋值给speedelsespeed = 0;}void setBulletAmount(int m) {bulletAmount = m;}int getBulletAmount() {return bulletAmount;}double getSpeed() {return speed;}void fire() {if(bulletAmount>=1){bulletAmount -=1;//将bulletAmount-1赋值给bulletAmountSystem.out.println("打出一发炮弹");}else {System.out.println("没有炮弹了,无法开火");}}void brake() {speed = 0;}}

计算机与CD

编写一个Java应用程序模拟在计算机中放入CD即计算机将CD类型的对象作为自己的一个成员变量。在创建类时,所有的类的名字命名加上自己的姓名拼音首字母(例如:张三,命名为Computer_ZS、javaCD_ZS、User_ZS),具体要求如下。

(1)有3个源文件:Computer.javaCD.java和User.java。其中CDjava中的CD类负责创建光盘对象;Computer.java中的Computer类有类型CD名字是includeCD的成员变量,Computer类负责创建计算机对象;Userjava是主类。

(2)在主类的main方法中首先使用CD类创建一个对象dataCD然后使用Computer类再创建一个对象computerIMB,computerIMB对象将CD类的实例dataCD的引用传递给computerIMB对象的成员变量includeCD。

CD.java


public class CD {int size;int content[];public void setSize(int size) {this.size = size;content = new int[size];}public int getSize() {return size;}public int [] getContent() {return content;}public void setContent(int [] b) {int min=Math.min(content.length,b.length);  for(int i=0;i<min;i++)content[i] = b[i];}}

Compuer.java


public class Computer {int data[];CD includeCD;public void putCD(CD cd) {includeCD = cd;int size=includeCD.getSize();data=new  int[size];}void copyToComputer() {int [] b = includeCD.getContent();int min=Math.min(data.length,b.length);  for(int i=0;i<min;i++) {data[i] = b[i];  }}public void addData(int m) {for(int i=0;i<data.length;i++) {data[i] = data[i]+m;  }}void copyToCD() {includeCD.setContent(data);}void showData() {for(int i=0;i<data.length;i++) {System.out.printf("%3d",data[i]);  }}}

User.java


public class User {public static void main(String args[]) {CD dataCD = new CD();int b[] ={1,2,3,4,5,6,7,8};dataCD.setSize(b.length);dataCD.setContent(b);int a[]=dataCD.getContent();System.out.println("dataCD上的内容:");for(int i=0;i<a.length;i++)System.out.printf("%3d",a[i]);Computer computerIMB = new Computer();computerIMB.putCD(dataCD);//computerIMB调用putCD(CD cd)方法,将dataCD的引用传递给cdSystem.out.println("\n将dataCD的数据复制到计算机:computerIMB.");computerIMB.copyToComputer();//computerIMB调用copyToComputer()方法System.out.println("computerIMB上的内容:");computerIMB.showData();int m=12;System.out.println("\ncomputerIMB将每个数据增加"+m);computerIMB.addData(m);System.out.println("computerIMB将增值后的数据复制到CD:dataCD");computerIMB.copyToCD();//computerIMB调用copyToCD()方法System.out.println("dataCD上的内容:");a=dataCD.getContent();for(int i=0;i<a.length;i++)System.out.printf("%3d",a[i]);CD cd = new CD();cd.content = computerIMB.data;System.out.println("");System.out.println("cd对象上的内容:");for(int i=0;i<cd.getContent().length;i++)System.out.printf("%3d",cd.content[i]);}
}

家族的姓氏

编写程序模拟一个家族成员的姓名,姓名由两部分构成:姓氏和名字。编写一个 FamilyPerson类,该类有一个静态的String型成员变量surname,用于存储姓氏;一个实例的String型成员变量name,用于存储名字。在主类MainClass的main方法中首先用类名访问surname,并为surname赋值,然后FamilyPerson创建3个对象:father、sonOne和 sonTwo,并分别为fathersonOne和sonTwo的成员变量name赋值。在创建类时,所有的类的名字命名加上自己的姓名拼音首字母(例如:张三,命名为FamilyPerson)

FamiluPerson.java


public class FamilyPerson {static String surname;String name;public static void setSurname(String s){surname = s;  }public void setName(String s) {name = s;}
}

MainClass.java


public class MainClass {  public static void main(String args[]) {FamilyPerson.surname = "李";//用类名FamilyPerson访问surname,并为surname赋值:"李"FamilyPerson father,sonOne,sonTwo;father = new  FamilyPerson();sonOne = new  FamilyPerson();sonTwo = new  FamilyPerson();father.setName("向阳");//father调用setName(String s),并向s传递"向阳"sonOne.setName("抗日");//FamilyPerson.setName("抗日");sonTwo.setName("抗战");System.out.println("父亲:"+FamilyPerson.surname+father.name);System.out.println("大儿子:"+FamilyPerson.surname+sonOne.name);System.out.println("二儿子:"+FamilyPerson.surname+sonTwo.name);  FamilyPerson.setSurname("张");// father调用setSurName(String s),并向s传递"张"System.out.println("父亲:"+FamilyPerson.surname+father.name);System.out.println("大儿子:"+FamilyPerson.surname+sonOne.name);System.out.println("二儿子:"+FamilyPerson.surname+sonTwo.name);  }}

JAVA 类与对象 1.Tank(用于刻画坦克)和Fight(主类)2.计算机中放入CD即计算机将CD类型的对象作一个成员变量。3.编写程序模拟一个家族成员的姓名,姓名由两部分构成:姓氏和名字。相关推荐

  1. python定义一个复数类complex、内有两个成员变量_编写程序,创建一个复数类Complex,它有两个实型成员变量Real和Virtual,代表复数的实数和虚数。...

    public class ComplexDemo { // main方法 public static void main(String[] a) { Complex b = new Complex(2 ...

  2. JAVA类与对象tank_5.编写一个java程序,该程序有两个类:Tank(用于刻画坦克)和Fight(主类)。 已知坦克类如下:...

    5.编写一个java程序,该程序有两个类:Tank(用于刻画坦克)和Fight(主类). 已知坦克类如下: public classTank{ double speed;        //坦克速度 ...

  3. Java编写程序模拟两个村庄共用同一口井水,编写一个Village类,该类有一个静态的int型成员变量waterAmount, 用于模拟井水的水量。

    编写程序模拟两个村庄共用同一口井水,编写一个Village类,该类有一个静态的int型成员变量waterAmount, 用于模拟井水的水量.在主类的main()方法中创建两个村庄,一个村庄改变了wat ...

  4. 编写程序创建一个通讯录文件,在其中存入10位同学的姓名、年龄、电话号码,并在屏幕上输出第2、4、6、8、10位同学的信息

    <程序设计基础-c语言>杨莉 刘鸿翔 ISBN-978-7-03-032903-5 p257 习题8 8.编写程序创建一个通讯录文件,在其中存入10位同学的姓名.年龄.电话号码,并在屏幕上 ...

  5. Java黑皮书课后题第9章:*9.3(使用Date类)编写程序创建一个Date对象,设置它的流逝时间分别为...,然后使用toString()方法分别显示上述日期

    Java黑皮书课后题第9章:*9.3(使用Date类)编写程序创建一个Date对象,设置它的流逝时间分别为...,然后使用toString方法分别显示上述日期 题目 代码 思路 代码 题目 代码 思路 ...

  6. java 在界面上画一个时钟_编写程序显示一个时钟 - javaCoder的个人页面 - OSCHINA - 中文开源技术交流社区...

    编写程序显示一个时钟.示例输出如图所示. 代码: package com.DisplayClock; import javax.swing.*; import java.awt.*; import j ...

  7. 设计一个长方形类。成员变量包括:长度和宽度,成员函数除包括计算周长和计算面积外, 还包括用set方法来设置长方形的长度和宽度,以及用get的方法来获得长方形的长度和宽度 最后,编写一个测试程序来测试所

    本文为博主原创文章,未经博主允许不得转载. 版权为陈博超所有,第一次于2020年11月22日发表于BLOG上 本BLOG上原创文章未经本人许可,不得用于商业用途.转载请经允许后注明出处,否则保留追究法 ...

  8. 编写程序:构造如下文档内容 姓名:邀请您来参加本次会议 李雷 其中,姓名从文件 names.txt 中读取,共 3 个,产生的输出文件为 3 个,输出文件名为对应的 姓名,txt如 张三.txt

    3. 编写程序:构造如下文档内容姓名:邀请您来参加本次会议李雷其中,姓名从文件 names.txt 中读取,共 3 个,产生的输出文件为 3 个,输出文件名为对应的 姓名,txt, 如 张三.txt. ...

  9. java HelloWorld时报错:“找不到或无法加载主类“问题的解决办法

    java HelloWorld时报错:"找不到或无法加载主类"问题的解决办法 参考文章: (1)java HelloWorld时报错:"找不到或无法加载主类"问 ...

  10. PYthon作业通讯录文件中存有若干联系人的信息,每个联系人的信息由姓名和电话号码组成。 编写程序,完成以下功能: 输入姓名,若通讯录文件中存在,则讲该联系人信息输出;

    """通讯录文件中存有若干联系人的信息,每个联系人的信息由姓名和电话号码组成.编写程序,完成以下功能:输入姓名,若通讯录文件中存在,则讲该联系人信息输出:若不存在,则输出 ...

最新文章

  1. CentOS 7.7 x86-64安装系统字体及美化实录
  2. Appium+Python 自动化测试一之:环境安装(Android篇)
  3. TopCoder 入门教程 -- sqybi完善版
  4. mysql中如何将一个表中的部分记录合并,MySQL数据库将多条记录的单个字段合并成一条记录_MySQL...
  5. bzoj 2878 [Noi2012]迷失游乐园——树上的期望dp
  6. tensorflow随笔-读取多个文件
  7. 了解.NET中的垃圾回收
  8. linux oracle删除恢复数据恢复,Linux下Oracle误删除数据文件恢复操作
  9. 信息学奥赛一本通 提高篇 第六部分 数学基础 相关的真题
  10. 从起源到未来:能自己编程和改进的超人工智能会出现吗?
  11. 技术实践丨如何解决异步接口请求快慢不均导致的数据错误问题?
  12. 一个事物两个方面的对比举例_《写作教练在你家》:推开写作之门第3课——对比的魔法...
  13. C++之析构函数探究
  14. 深度学习入门首推资料--吴恩达深度学习全程笔记分享
  15. 爱剪辑手机版 v51.0 至尊内购专业破解版的视频剪辑软件
  16. Linux FTP搭建及访问
  17. python 中控考勤机实时接收打卡数据(QThread)
  18. WPS在引用中制作目录
  19. AODV协议的运行方式
  20. CSS布局与定位,flow流,float

热门文章

  1. JSON转对象、List
  2. 利用python在word文档中查找关键字(支持多个文档和多个关键字)
  3. php libiconv close_PHP 5.2.17 编译安装时出现 undefined reference to `libiconv_open’ 错误的解决方法...
  4. Aspose.Cells生成Excel图表
  5. MySQL管理工具-SQLyog 9.63的使用详解,带截图
  6. vue 中如何引入字体(思源黑体)
  7. arcgis中将地理坐标转换为投影坐标 / 经纬度坐标转换
  8. Cadence如何画PCB封装库
  9. 黑马程序员Python教程——Python从入门到精通教程
  10. 乐高机器人linux,如何搭建自己的乐高机器人编程环境