卡车要装载一批货物,货物由三种商品组成:电视、计算机、洗衣机。卡车需要计算出整批货物的重量。
  要求有一个ComputerWeight接口,该接口中有一个方法:
  public double computeWeight() 
######有三个实现该接口的类:Television、Computer和WashMachine. 这三个类通过实现接口给出自重。这3个类都有属性weight,并通过构造方法初始化,其中Television类的computeWeight()方法,返回weight值;Computer的computeWeight()方法,返回2倍weight值;WashMachine的computeWeight()方法,返回3倍weight值

有一个卡车Truck类,该类用ComputeWeight接口类型的数组作为成员(Truck类面向接口),那么该数组的元素就可以存放Television对象的引用、Computer对象的引用或WashMachine
对象的引用。程序能输出Truck对象所装载的货物的总重量。

接口方法定义:
ComputerWeight接口的方法:
public double computeWeight();
该方法 在不同实现类中实现不同,Television类的computeWeight()方法,返回weight值;Computer的computeWeight()方法,返回2倍weight值;WashMachine的computeWeight()方法,返回3倍weight值。

裁判测试程序样例:

import java.util.Scanner;public class Main {public static void main(String[] args) {ComputerWeight[] goods=new ComputerWeight[650]; //650件货物double[] a=new double[3];//存储Television,Computer,WashMachine对象weight属性初值Scanner sc=new Scanner(System.in);String str1=sc.nextLine();String[] str_a=str1.split(" ");for(int i=0;i<3;i++)a[i]=Double.parseDouble(str_a[i]);for(int i=0;i<goods.length;i++) { //简单分成三类if(i%3==0)goods[i]=new Television(a[0]);else if(i%3==1)goods[i]=new Computer(a[1]);else if(i%3==2)goods[i]=new WashMachine(a[2]);} Truck truck=new Truck(goods);System.out.printf("货车装载的货物重量:%-8.5f kg\n",truck.getTotalWeights());goods=new ComputerWeight[68]; //68件货物for(int i=0;i<goods.length;i++) { //简单分成两类if(i%2==0)goods[i]=new Television(a[0]);else goods[i]=new WashMachine(a[2]);} truck.setGoods(goods);System.out.printf("货车装载的货物重量:%-8.5f kg\n",truck.getTotalWeights());}
}
/* 请在这里填写答案 */
//定义 接口ComputerWeight  代码写在下面//定义类  Television 实现接口ComputerWeight 代码写在下面//定义类Computer实现接口ComputerWeight 代码写在下面//定义类WashMachine 实现接口ComputerWeight 代码写在下面//类Truck ,实现相关成员方法 代码写在下面输入样例:
3.5 2.67 13.8
输出样例:
货车装载的货物重量:10860.68000 kg
货车装载的货物重量:1526.60000 kg

我的答案

class Truck
{ComputerWeight goods[];Truck(ComputerWeight[] goods) {super();this.goods = goods;}public void setGoods(ComputerWeight[] goods) {this.goods = goods;}public double getTotalWeight(){double sum=0;for(ComputerWeight i:goods){sum += i.computerWeight();}return sum;}}interface ComputerWeight
{double computerWeight();
}class Television implements ComputerWeight
{double w;Television(double w) {super();this.w = w;}public double computerWeight(){return w;}
}class Computer implements ComputerWeight
{double weight;Computer(double weight){this.weight=weight;}public double computerWeight(){return 2*weight;}
}class WashMachine implements ComputerWeight
{double weight;WashMachine(double weight){this.weight=weight;}public double computerWeight(){return 3*weight;}
}

Java 6-2 货车的装载量相关推荐

  1. Java知识点总结(JDBC-封装JDBC)

    Java知识点总结(JDBC-封装JDBC) @(Java知识点总结)[Java, JDBC] 封装JDBC src目录下新建一个db.properties文件,用于封装数据库连接信息 把获取数据库连 ...

  2. java json和对象互相装换

    java json和对象互相装换 1.com.alibaba.fastjson.JSON 2.com.fasterxml.jackson.databind.ObjectMapper 转载于:https ...

  3. 装载鸿蒙系统,华为3-4月份将正式推送鸿蒙系统 第三方装载量也将达到一个亿...

    描述 作为华为消费者业务软件部总裁的王成录表示,鸿蒙系统不是安卓系统的拷贝,也不是苹果系统的拷贝,而是面向的整个物联网.预计在2021年,华为持有设备装机量将达到两个亿,或者是超过两个亿.还有很重要的 ...

  4. C++二分查找示例(求货物装载量)

    C++二分查找,我们了解了二分查找的算法以及它的算法复杂度,效率还是不错的. 通过一个示例来说明下,传送带一次送来n个货物重量为w,使用k辆卡车来装载,求出装载全部货物所需的最大运载量P的最小值. # ...

  5. java unbox_java base-05-Box UnBox 自动装拆箱

    java 语言的设计 java 为什么有基本类型 作为一门 OO 语言,java 为什么要保留基本类型呢. 个人的理解是,出于工程学上的考虑. 基本类型的内存占用,比对象要小得多. 基本对象 基本数据 ...

  6. java se版本_补装老版本的Java SE

    到oracle注册账号下载bin文件 在bin文件下载目录打开终端复制下面到命令 # chmod +x jdk-6u21-linux-i586.bin 注意版本不同,比如我这次下载到是6u45 chm ...

  7. java sync_Java同步简介 - 加大装益达 - OSCHINA - 中文开源技术交流社区

    原文链接 [TOC] Java同步 Java中同步一直都是很重要的问题,对于初学者来说也是不太容易能理解的问题.特在此记录一下有关Java中同步和锁的知识.主要涉及到同步的概念以及Java中解决的办法 ...

  8. Java基础知识学习06-封装、继承

    封装 概念:将类的某些信息隐藏在类的内部,不允许外部程序直接访问,而是通过该类提供的方法实现对隐藏信息的操作和访问. 特点:提高代码的复用性: 隐藏类的实例细节,方便修改和实现: 提高代码的安全性. ...

  9. 独家发布!java总结与心得,下载量瞬秒百万

    一. JVM内存区域的划分 1.1  java虚拟机运行时数据区 java虚拟机运行时数据区分布图: JVM栈(Java Virtual Machine Stacks): Java中一个线程就会相应有 ...

最新文章

  1. 什么是SOLID原则(第3部分)
  2. php中转,使用 PHP Curl 做数据中转
  3. 图解VC6辅助编程工具的使用
  4. Oh My God!e.printStackTrace() 导致系统卡崩
  5. 1Nginx+fastdfs分布式文件存储
  6. 数字图像处理-0.绪论
  7. HDOJ1028-Ignatius and the Princess III(整数划分)
  8. stm32-再谈GPIO
  9. VM安装失败 Failed to create the requested registry key Key:installer Error:1021
  10. Linux(Ubuntu)使用日记------自定义命令的使用
  11. 进度类计算_PERT
  12. Ubuntu搭建BT服务器FTP服务器发布种子
  13. Unity Translate方法使用指南
  14. 批量修改或删除多个 Word、PPT、Excel、PDF 和记事本文件中的多个关键字
  15. 小程序改变swiper样式(带缩略图)
  16. 《Effective Python 编写高质量Python代码的59个有效方法》读书笔记
  17. 05-SA8155 QNX I2C框架及代码分析
  18. 网络存储技术Windows server 2012 (项目八 文件共享与磁盘映射)
  19. 2019年云架构和云计算趋势如何?|中机智库干货
  20. Golang知识总结

热门文章

  1. 树状数组 思路以及性能分析
  2. h5广告与html5,知识解答:什么是H5广告?H5和HTML5是一回事吗?
  3. 第三章:从此你就叫张三了!-变量,痴月熊学python
  4. 微信开发者工具向gitee提交或者拉取代码报错push failed invalid authentication scheme
  5. MyBatis基本工作原理介绍
  6. 怎样更换vivoy31s锁屏壁纸(2021教程分享)
  7. TCP/IP 读书笔记
  8. thinkphp装修平台源码
  9. 一个极具误导性的数学术语汉译名——几何级数
  10. JAVA中的各种循环语句