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#多用于业务系统的开发 ...
随机推荐
- [File transfer]Syncthing
https://syncthing.net/ 另外两种1.filezila 2.python -m http
- TJOI2018Party
题目描述 小豆参加了\(NOI\)的游园会,会场上每完成一个项目就会获得一个奖章,奖章 只会是\(N\), \(O\), \(I\)的字样.在会场上他收集到了\(K\)个奖章组成的串. 兑奖规则是奖章 ...
- django rest framework pagination
REST framework 包含对可定制分页样式的支持.这使你可以将较大的结果集分成单独的数据页面. 分页 API 支持: 以分页链接的形式作为响应内容的一部分. 以分页链接的形式包含在响应的 he ...
- ubuntu mirror
# apt-mirror configuration file ## The default configuration options (uncomment and change to overri ...
- fhq_treap 小结
简介 \(fhq\_treap\)是一种非旋平衡树.在学习这篇文章之前,还是先学习一下普通\(treap\)吧 优点 相比于普通的\(treap\),它可以处理区间操作. 相比于\(splay\),它 ...
- va_start
#include <stdarg.h> void va_start(va_list ap, last); type va_arg(va_list ap, type); void va_en ...
- Kubernetes之canal的网络策略(NetworkPolicy)
安装要求: 1.我们这里安装的是3.3的版本.kubernetes的要求: 支持的版本 1.10 1.11 1.12 2.CNI插件需要启用,Calico安装为CNI插件.必须通过传递--networ ...
- matplotlib库的简单应用
matplotlib库 import matplotlib.pyplot as plt import matplotlib matplotlib.rcParams['font.family']='Si ...
- SHELL:多文件的重命名和移动
rename find mv #实现查找png 和 jpeg文件 #!/bin/bash #file name: rename.sh #use: rename.jpg and .png files ...
- 永续公债(or统一公债)的麦考利久期(Macaulay Duration)的计算