为某研究所编写一个通用程序,用来计算每一种交通工具运行1000公里所需的时间,已知每种交通工具的参数都是3个整数A、B、C的表达式。现有两种工具:Car 007 和Plane,其中Car 007 的速度运算公式为:A*B/C,Plane 的速度运算公式为:A+B+C。需要编写三类:Com p u t e Time.java, Plane.java, Car 007.java和接口Common.java,要求在未来如果增加第3种交通工具的时候,不必修改以前的任何程序,只需要编写新的交通工具的程序。其运行过程如下,从命令行输入Compute Time的四个参数,第一个是交通工具的类型,第二、三、四个参数分别时整数A、B、C,举例如下:

计算Plane的时间:“java Compute Time Plane 20 30 40”

计算Car 007的时间:“java Compute Time Car 007 23 34 45”

如果第3种交通工具为Ship, 则只需要编写Ship.java,运行时输入:“java Compute Time Ship 22 33 44”

提示:充分利用接口的概念,接口对象充当参数。

实例化一个对象的另外一种办法:Class .for Name(s tr).new Instance();例如需要实例化一个Plane对象的话,则只要调用Class .for Name(“Plane”).new Instance()便可

Computer Time.java 源程序:

import pkg 1 .pkg 2.*;

import java.lang.*;

public class Computer Time

{  public static void main(String args[])

{  System .out .print l n("交通工具: "+args[0]);

System.out .print l n(" 参数A: "+args[1]);

System.out.print l n(" 参数B: "+args[2]);

System.out.print l n(" 参数C: "+args[3]);

double A=Double.parse Double(args[1]);

double B=Double.parse Double(args[2]);

double C=Double.parse Double(args[3]);

double v,t;

try { Common d=(Common) Class.for Name(“pkg 1.”+args[0]).new Instance();

v=d .run timer (A,B,C);

t=1000/v;

System .out.print l n(“平均速度: “+v+” km/h”);

System.out.print l n(“运行时间:”+t+" 小时");

}

catch(Exception e)

{ System.out.print l n(“class not found”);

}

}

}

包pkg 1中Car 007.java的源程序:

package pkg 1;

import pkg 1.pkg 2.*;

public class Car 007 implements Common

{ public double run timer(double A,double B,double C)

{  System.out.print l n(“runtime=”+(A*B/C));

return A*B/C;

}

}

包pkg 1中Plane.java的源程序:

package pkg 1;

import pkg 1.pkg 2.*;

public class Plane implements Common

{

public double run timer(double A,double B,double C)

{

return A+B+C;

}

}

包pkg 2中Common.java的源程序:

package pkg 1.pkg 2;

public interface Common

{

double run timer(double A,double B,double C);

}

}

交通工具速度Java相关推荐

  1. java优化上传速度慢怎么办_如何提高多个文件的ftp上传速度[Java]

    我使用org.apache.commons.net.ftp.FTPClient实现了 java代码将文件上传到服务器 对于多个文件,ftp上传速度非常慢. 我怎样才能提高速度. – 改变图书馆? 用于 ...

  2. java repaint 速度,java repaint()

    java repaint()求助 我想要实现在鼠标点击的位置绘制一个方块,绘制新的方块的同时保留已经绘制的方块,可是现在绘制新图形的时候,原有图形被覆盖,求大神帮忙import java.awt.Ca ...

  3. python跟java 效率_对比平台--Java与Python之间的性能差异

    ava Performance和Python之间的主要区别 以下是描述Java Performance和Python之间的区别的要点列表: 以下是Java性能与Python之间的主要区别,我们在决定应 ...

  4. 初识未来趋势:Java与Kotlin;EclipsE与IntelliJ

    Kotlin是JetBrains的一种新的编程语言.它首次出现在2011年,JetBrains推出了名为"科特林"的项目. Kotlin是开源语言. 基本上像Java一样,C和C ...

  5. python跟java 效率_Python与Java:哪个更好,如何选择?

    Python与Java新手应该选哪个?应该是当今讨论最为热门的话题了. 在过去的几年中,Python的普及速度令人惊叹,Java的王者地位也常年不衰.目前两者的竞争愈发激烈,怎么选择成为了许多初学者萦 ...

  6. [转]为什么Java中的HashMap默认加载因子是0.75

    前几天在一个群里看到有人讨论hashmap中的加载因子为什么是默认0.75. HashMap源码中的加载因子 static final float DEFAULT_LOAD_FACTOR = 0.75 ...

  7. 浅析java内存管理机制

    内存管理是计算机编程中的一个重要问题,一般来说,内存管理主要包括内存分配和内存回收两个部分.不同的编程语言有不同的内存管理机制,本文在对比C++和java语言内存管理机制的不同的基础上,浅析java中 ...

  8. java生产问题快速定位_生产环境如何快速跟踪、分析、定位问题-Java

    我相信做技术的都会遇到过这样的问题,生产环境服务遇到宕机的情况下如何去分析问题?比如说JVM内存爆掉.CPU持续高位运行.线程被夯住或线程deadlocks,面对这样的问题,如何在生产环境第一时间跟踪 ...

  9. 菜鸟学Linux 第100篇笔记 tomcat 之 java

    菜鸟学Linux 第100篇笔记 tomcat 之 java 内容总览 java概述 java  包含四个独立却又彼此相关的技术 四个独立的技术运作流程 JVM的实现方式 JVM的虚拟机软件 JAVA ...

最新文章

  1. dmp导入数据 oracle_DM数据库的安装使用
  2. outlook 单独安装_民强村排烟管道安装公司
  3. 按照秒数延时打印、运行
  4. Sentinel实现黑白名单控制详细教程来了
  5. vim grep配置及使用
  6. css宽高自适应布局,实现Sticky Footer的三种布局方式
  7. 联想m100显示耗材_RTX3070显卡搭档高性能显示器,畅玩精美游戏大作!
  8. pdf模板工具JaspersoftStudio,JasperReport
  9. javascript天生就具备类似c#中的委托功能
  10. virtual 初探
  11. python学习 day2
  12. 电能表软件测试用例,一种用于电能表软件自动测试的方法专利_专利查询 - 天眼查...
  13. SEO—搜索引擎优化初探
  14. louvain算法python_python – 如何在igraph中运行louvain社区检测算法?
  15. 传奇DBC2000安装及配置图文详细教程
  16. c语言流程图形状什么意思,Visio中的基本流程图的各个形状的含义是什么?
  17. fenix3 hr 中文说明书_佳明 Fenix3 HR中、英文菜单对照 V4.0
  18. QQ红包金额分配算法
  19. Java添加、读取Excel公式
  20. Java游戏神秘岛,【寻找高玩】服务端整合问题

热门文章

  1. 解决Http或Https中下载中文文件乱码和无法下载问题
  2. 中国软件杯大赛比赛时注意事项!
  3. WOT演讲回顾——海量日志分析与智能运维
  4. 金山毒霸2008安全套装通行证—最后一次更新
  5. 【Java学习日志3.31】经典扫雷带界面完整版
  6. php文件上传实验总结,PHP文件上传一些小收获
  7. [转]网易相册照用不误(解决网易相册的跨服使用)突破防盗链
  8. There is no getter for property named ‘user‘ in ‘class com.jyr.wh.domain.User问题
  9. 【自动驾驶规划算法】方向盘角速度限速
  10. 模拟肯德基快餐店收银系统