java 单位转换的程序_Java 实现长度单位换算
思路:以某一个单位为基准创建一个枚举类import java.math.BigDecimal;
import java.util.Optional;
public enum LengthUnitEnum {
/**
* 公里 以 1公里未标准
*/
KILOMETRE((byte) 1, new BigDecimal("1")),
/**
* 米
*/
METER((byte) 2, new BigDecimal("1000")),
/**
* 分米
*/
DECIMETER((byte) 3, new BigDecimal("10000")),
/**
* 厘米
*/
CENTIMETER((byte) 4, new BigDecimal("100000")),
/**
* 毫米
*/
MILLIMETER((byte) 5, new BigDecimal("1000000")),
/**
* 微米
*/
MICROMETER((byte) 6, new BigDecimal("1000000000")),
/**
* 里
*/
LI((byte) 7, new BigDecimal("2")),
/**
* 丈
*/
ZHANG((byte) 8, new BigDecimal("300")),
/**
* 尺
*/
RULER((byte) 9, new BigDecimal("3000")),
/**
* 寸
*/
SMALL((byte) 10, new BigDecimal("30000")),
/**
* 分
*/
MINUTE((byte) 11, new BigDecimal("300000")),
/**
* 厘
*/
CENTI((byte) 12, new BigDecimal("3000000")),
/**
* 海里
*/
SEA_MILE((byte) 13, new BigDecimal("0.5399568")),
/**
* 英寻
*/
FATHOM((byte) 14, new BigDecimal("546.8066492")),
/**
* 英里
*/
MILE((byte) 15, new BigDecimal("0.6213712")),
/**
* 弗隆
*/
FURLONG((byte) 16, new BigDecimal("4.9709695")),
/**
* 码
*/
CODE((byte) 17, new BigDecimal("1093.6132983")),
/**
* 英尺
*/
FOOT((byte) 18, new BigDecimal("3280.839895")),
/**
* 英寸
*/
INCH((byte) 19, new BigDecimal("39370.0787402"));
private byte id;
private BigDecimal value;
LengthUnitEnum(byte id, BigDecimal value) {
this.id = id;
this.value = value;
}
public byte getId() {
return id;
}
public BigDecimal getValue() {
return value;
}
public static Optionalget(Byte id) {
Optionalrtn = Optional.empty();
if (id != null) {
for (LengthUnitEnum code : values()) {
if (code.getId() == id) {
rtn = Optional.of(code);
}
}
}
return rtn;
}
}
实现起来也很简单@Override
public ListconverterLengthUnit(ConverterLengthUnitQuery query) throws ServiceException {
Listrtn = new ArrayList<>();
ConverterLengthUnitDTO converterLengthUnitDTO;
LengthUnitEnum unitEnum = LengthUnitEnum.get(query.getUnit()).orElseThrow(() -> new ServiceException("单位错误", ProjectResultCodeEnum.FAIL.getCode()));
//都先转换为千米
BigDecimal kilometre = query.getNumber().divide(unitEnum.getValue());
for (LengthUnitEnum lengthUnitEnum : LengthUnitEnum.values()) {
converterLengthUnitDTO = new ConverterLengthUnitDTO();
converterLengthUnitDTO.setUnit(lengthUnitEnum.getId())
.setValue(lengthUnitEnum.getValue().multiply(kilometre));
rtn.add(converterLengthUnitDTO);
}
return rtn;
}
java 单位转换的程序_Java 实现长度单位换算相关推荐
- java单位转换_如何创建单位转换Java程序
步骤1:设置 步骤2:为LengthConverter创建骨架 注意: 在代码中添加注释通常是个好主意.在上面的方法中做注释,以解释方法的作用,解释传递给方法的参数,解释方法的返回值等.这将帮助您了解 ...
- 单位转换html代码,JavaScript实现长度单位转换
长度单位转换JavaScript程序 var computed = false var destination = "/" var decimal = 0 function con ...
- java ee的小程序_Java EE调度程序
java ee的小程序 Java EE应用程序服务器具有本机调度支持,并且在大多数应用程序中,不需要包括外部依赖项,例如著名的Quartz调度程序库. Java EE 6和7完整配置文件上提供的Jav ...
- java ee的小程序_Java EE应用程序的单片到微服务重构
java ee的小程序 您是否曾经想过将现有的Java EE单体应用程序重构为基于微服务的应用程序需要做什么? 该博客说明了一个简单的购物车示例如何转换为基于微服务的应用程序,以及围绕它的一些担忧. ...
- java ee的小程序_Java EE 8 –为更多设备提供更多应用程序
java ee的小程序 如果我不喜欢夏天的一件事,那就是事实是没有太多要分享或谈论的新闻. 谁决定将Java Day Tokyo置于今年的这个无聊的时间里,做得很好,并给了我一个写关于新的和即将到来的 ...
- java类和对象程序_Java类与对象程序设计基础
Java类与对象程序设计基础 一.实验目的: 通过编制一个独立应用程序,使得学生掌握Java的系统所提供类的引用方法:通过编制一个完整的应用程序,使得学生对Java的应用程序的基本构成和基本算法熟练掌 ...
- java求梯形面积程序_Java初级应用,计算关于梯形跟圆形的面积。该程序中有3个类:Lader、Circle和主类Test。...
编写一个Java应用程序,该程序中有3个类:Lader.Circle和主类Test.具体要求如下:Lader类具有类型为double的上底.下底.高.面积属性,具有返回面积的功能,包括斜体样式一个构造 ...
- java单位转换_做一个单位转换的java程序
展开全部 public static void main(String[] args) { e69da5e887aa62616964757a686964616f31333363393132Scanne ...
- java date 转换成毫秒_Java程序将Date转换为毫秒
导入以下包以使用Date类.import java.util.Date; 否创建一个Date对象.Date d = new Date(); 让我们将当前日期转换为毫秒.d.getTime() 以下是一 ...
最新文章
- 数据库基础笔记(MySQL)5 —— 基础索引
- SqlDataSource 執行資料篩選
- 死而复生?RethinkDB宣布进入Linux基金会!
- 2012 RDS Remote App 对于win7的支持问题
- javaweb:session
- linux /proc/net/arp
- MySQL8.0 · 优化器新特性 · Cost Model, 直方图及优化器开销优化
- SQL server 系统优化--通过执行计划优化索引(1) (转)
- 动态规划 所有题型的总结
- exec vs sp_executesql
- 中国程序员生存现状?
- python遍历dataframe中的每个字符_pandas中遍历dataframe的每一个元素的实现
- 中国可擦除可编程只读存储器行业市场供需与战略研究报告
- Hadoop不同版本数据传输distcp问题设置
- 获取图像像素点的概率分布图
- VBA基本语法及基本使用
- powerDesigner Could not Initialize JavaVM解决
- Ubuntu修改IP地址不生效解决办法
- matlab语言与测绘,MATLAB语言及测绘数据处理应用
- R语言使用pdf函数将可视化图像结果保存到pdf文件中、使用pdf函数打开图像设备、使用dev.off函数关闭图像设备、自定义width参数和height参数指定图像的宽度和高度