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#多用于业务系统的开发 ...
随机推荐
- Beyas定理
\(Beyas\)定理 首先由条件概率的计算式有 \[Pr\{A|B\}=\frac{Pr\{A\cap B\}}{Pr\{B\}}\] 结合交换律得到 \[Pr\{A\cap B\}=Pr\{B\} ...
- (六)QDialog,QMessageBox,QFileDialog,QColorDialog颜色,QFontDialog字体
QDialog 对话框: 1.模态对话框: QDialog dlg(this); // 显示模态对话框 exec ,后面的不可操作 dlg.exec(); // 阻塞 2.非模态对话框: QDialo ...
- (String) leetcode 67. Add Binary
Given two binary strings, return their sum (also a binary string). The input strings are both non-em ...
- Vue-route实现原理
1.原理图如下所示 2.说明 1.安装插件的时候监听hashchange事件,监视_route 2.处理router-link 获取到path关联组件 3.等待hashchange触发,匹配route ...
- C#调用Java的WebService添加SOAPHeader验证
C#调用Java的WebService添加SOAPHeader验证(2) 1.问题描述 调用的Java的webservice string Invoke(string func, string req ...
- xgboost-Python&R
sklearn实战-乳腺癌细胞数据挖掘(博主亲自录制视频) https://study.163.com/course/introduction.htm?courseId=1005269003& ...
- 神经网络1_neuron network原理_python sklearn建模乳腺癌细胞分类器(推荐AAA)
sklearn实战-乳腺癌细胞数据挖掘(博客主亲自录制视频教程) https://study.163.com/course/introduction.htm?courseId=1005269003&a ...
- 史上最简单的Docker入门教程
安装Ubuntu Docker 安装 CentOS Docker 安装 Windows Docker 安装 MacOS Docker 安装 这里我的电脑是mac,采用brew安装,安装完毕记得更换国内 ...
- [译]Ocelot - Rate Limiting
原文 Ocelot支持对上游做访问限流,这样就可以保证下游不要负载太大了. 如果要启用访问限流,需要做如下配置: "RateLimitOptions": { "Clien ...
- day06 字典、元组、set的方法及常用操作
今日内容: 1.深浅拷贝 2.元组 3.字典 4.set 1.深浅拷贝 # 1.值拷贝 # 采用赋值的方法进行 # 只会将堆区容器变量与栈区的绑定关系进行复制 # 2.浅拷贝 # 会将堆区与栈区的绑定 ...