Java练习2
1
编写一个应用程序,模拟机动车的加速和减速功能。机动车类Vehicle的UML图如下,其中speedUp()方法实现加速功能,速度上限为240 km/h;speedDown()实现降速功能,下限为0 km/h。
编写测试程序,创建Vehicle对象,输入初始速度,分别调用speedUp()和speedDown()方法对车辆进行加速和减速,按照如下样例输出结果。
import java.util.Scanner;
public class TestVehicle {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
Vehicle vehicle=new Vehicle(0);
vehicle.setSpeed(input.nextFloat());
float a=(input.nextFloat());
float b=(input.nextFloat());
System.out.println("初始速度是"+vehicle.getSpeed());
vehicle.speedUp(a);
System.out.println("加速"+a+"后的速度是"+vehicle.getSpeed());
vehicle.speedDown(b);
System.out.println("降速"+b+"后的速度是"+vehicle.getSpeed());
}
}
class Vehicle{
private float speed;
public Vehicle() {}
public Vehicle(float speed) {
this.speed=speed;
}
public float getSpeed() {
return speed;
}
public void setSpeed(float speed) {
this.speed = speed;
}
public void speedUp(float speedUp){
if((speed+speedUp)>=240)
speed=240;
else
speed+=speedUp;
}
public void speedDown(float speedDown) {
if((speed-speedDown)<0)
speed=0;
else
speed-=speedDown;
}
}
2
编写程序,在场景中显示一个圆,在文本框中输入圆的半径,点击“确定”按钮后,改变圆的大小。
程序界面如上图所示。
3.
设计正方形类Square,并用题目给出的测试类TestSquare测试自己设计的类Square。
类Square中必须提供的数据成员、成员方法、构造方法,由考生根据题目给出的测试类TestSquare判断得出。类Square是否需要继承其它的类或实现什么接口,都有考生自行决定。类Square中可以包含测试类TestSquare没有测到的成员,但不能修改题目指定的测试类TestSquare的代码。
【输入输出样例】
请把自己定义的正方形类Square与题目给出的测试类TestSquare,一起提交调试。不允许改动测试类TestSquare的代码。
public class TestSquare{
public static void main(String[] args){
Square[] data=new Square[5];
Scanner input = new Scanner(System.in);
for(int i=0;i<data.length;i++){
data[i]=new Square(input.nextInt());
}
System.out.println( "数组原顺序:");
for(Square squ:data)
System.out.println(squ.getArea());
System.out.println( "升序排序后:");
Square.sortByArea(data);
for(Square squ:data)
System.out.println(squ.getArea());
}
}
4.
编写电视类TV,UML类图和说明如下:
注意:
(1)电视只有在打开的状态下才可以调音量和设置新频道;
(2)设置音量和频道时,应该在规定的范围,如音量值为1-7。
编写测试类,按照如下的顺序测试TV的功能:
(1)创建一个TV对象;
(2)打开TV对象,从键盘上读入要设置的音量和频道;
(3)输出TV对象的音量和频道;
(4)给TV对象的频道加1,音量减1;
(5)输出TV对象的当前音量和频道;
(6)关闭TV对象。
样例如下:
Java练习2的更多相关文章
- Spark案例分析
一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...
- 故障重现(内存篇2),JAVA内存不足导致频繁回收和swap引起的性能问题
背景起因: 记起以前的另一次也是关于内存的调优分享下 有个系统平时运行非常稳定运行(没经历过大并发考验),然而在一次活动后,人数并发一上来后,系统开始卡. 我按经验开始调优,在每个关键步骤的加入如 ...
- Elasticsearch之java的基本操作一
摘要 接触ElasticSearch已经有一段了.在这期间,遇到很多问题,但在最后自己的不断探索下解决了这些问题.看到网上或多或少的都有一些介绍ElasticSearch相关知识的文档,但个人觉得 ...
- 论:开发者信仰之“天下IT是一家“(Java .NET篇)
比尔盖茨公认的IT界领军人物,打造了辉煌一时的PC时代. 2008年,史蒂夫鲍尔默接替了盖茨的工作,成为微软公司的总裁. 2013年他与微软做了最后的道别. 2013年以后,我才真正看到了微软的变化. ...
- 故障重现, JAVA进程内存不够时突然挂掉模拟
背景,服务器上的一个JAVA服务进程突然挂掉,查看产生了崩溃日志,如下: # Set larger code cache with -XX:ReservedCodeCacheSize= # This ...
- 死磕内存篇 --- JAVA进程和linux内存间的大小关系
运行个JAVA 用sleep去hold住 package org.hjb.test; public class TestOnly { public static void main(String[] ...
- 【小程序分享篇 一 】开发了个JAVA小程序, 用于清除内存卡或者U盘里的垃圾文件非常有用
有一种场景, 手机内存卡空间被用光了,但又不知道哪个文件占用了太大,一个个文件夹去找又太麻烦,所以我开发了个小程序把手机所有文件(包括路径下所有层次子文件夹下的文件)进行一个排序,这样你就可以找出哪个 ...
- Java多线程基础学习(二)
9. 线程安全/共享变量——同步 当多个线程用到同一个变量时,在修改值时存在同时修改的可能性,而此时该变量只能被赋值一次.这就会导致出现“线程安全”问题,这个被多个线程共用的变量称之为“共享变量”. ...
- Java多线程基础学习(一)
1. 创建线程 1.1 通过构造函数:public Thread(Runnable target, String name){} 或:public Thread(Runnable target ...
- c#与java的区别
经常有人问这种问题,用了些时间java之后,发现这俩玩意除了一小部分壳子长的还有能稍微凑合上,基本上没什么相似之处,可以说也就是马甲层面上的相似吧,还是比较短的马甲... 一般C#多用于业务系统的开发 ...
随机推荐
- [BJOI2019] 删数
https://www.luogu.org/problemnew/show/P5324 题解 首先我们需要弄清这个答案是什么. 对于一个长度为n的序列,那么它先删的肯定是\(n\),删完之后它就会跳到 ...
- ZooKeeper集群与Leader选举
说说你对ZooKeeper集群与Leader选举的理解? ZooKeeper是一个开源分布式协调服务.分布式数据一致性解决方案.可基于ZooKeeper实现命名服务.集群管理.Master选举.分 ...
- Spring 实现动态数据源切换--转载 (AbstractRoutingDataSource)的使用
[参考]Spring(AbstractRoutingDataSource)实现动态数据源切换--转载 [参考] 利用Spring的AbstractRoutingDataSource解决多数据源的问题 ...
- React 16 加载性能优化指南
关于 React 应用加载的优化,其实网上类似的文章已经有太多太多了,随便一搜就是一堆,已经成为了一个老生常谈的问题. 但随着 React 16 和 Webpack 4.0 的发布,很多过去的优化手段 ...
- 分享自己总结的PMP项目管理20个G的资料,本人去年过的pmp认证,过了5A
版权归作者所有,任何形式转载请联系作者. 我在去年6月拿到的pmp证书,5A的,现在来分享下自己的资料. 这些资料是从我开始学习,到问了很多朋友.老人,到后来报班学习,再到之后做项目管理中总结的很多经 ...
- Idea查看并过滤某个接口或者类的实现
查看当前类的父类 会出现一个图 不过这个有点鸡肋,我们通常想看一个类的实现有哪些,虽然有个方法可以,但是没有图. 查看类的实现 在你想查看的类上 Ctrl+H(Ctrl+Alt+B是直接弹窗,不能过滤 ...
- 20175206迭代与JDB测试
迭代与JDB测试 C(n,m)组合数的判定 实验要求 1 使用C(n,m)=C(n-1,m-1)+C(n-1,m)公式进行递归编程实现求组合数C(m,n)的功能 2 m,n 要通过命令行传入 实验案例 ...
- Helm包管理工具(简介、安装、方法)
认识Helm 每次我们要部署一个应用都需要写一个配置清单(维护一套yaml文件),但是每个环境又不一样.部署一套新的环境成本是真的很高.如果我们能够使用类似于yum的工具来安装我们的应用的话那就太好了 ...
- 如何使用门罗币远程节点remote node?
当使用门罗币钱包的时候,都需要启动monerod,用来同步门罗币区块. 但是因为区块体积目前已经超过40G了, 所以需要花费很多天时间才能把数据同步完. 这对于使用门罗币非常的不方便. 远程节点rem ...
- 第30月第11天 Xcode 9.0中新增的API版本检查@available
1.Xcode 9.0中新增的API版本检查@available https://www.jianshu.com/p/0a94baa6c3dd https://www.jianshu.com/p/b8 ...