Java的一个关于“星球”的枚举
JAVA 一个 关于 枚举
2023-09-11 14:17:56 时间
public enum Planet { /** * 水星 */ MERCURY(3.302e+23, 2.439e6), /** * 金星 */ VENUS(4.869e+24, 6.052e6), /** * 地球 */ EARTH(5.975e+24, 6.378e6), /** * 火星 */ MARS(6.419e+23, 3.393e6), /** * 木星 */ JUPITER(1.899e+27, 7.149e7), /** * 土星 */ SATURN(5.685e+26, 6.027e7), /** * 天王星 */ URANUS(8.683e+25, 2.556e7), /** * 海王星 */ NEPTUNE(1.024e+26, 2.477e7); private final double mass; private final double radius; private final double surfaceGravity; private static final double G = 6.67300E-11; /** * 构造函数 * * @param mass 行星的质量 * @param radius 行星的半径 */ Planet(double mass, double radius) { this.mass = mass; this.radius = radius; this.surfaceGravity = G * mass / (radius * radius); } /** * 星球的质量 * @return 质量 kg */ public double mass() { return mass; } /** * 星球的半径 * @return 半径 m */ public double radius() { return radius; } /** * 获取某个星球表面的重力(地心引力或万有引力) * @return 某个星球表面的重力 */ public double surfaceGravity() { return surfaceGravity; } /** * 获取某个星球表面的重量 * @param mass 物体质量 * @return 星球表面的重量 */ public double surfaceWeight(double mass) { return mass * surfaceGravity; } }
我们来看看我们地球上某个物体的重量在其它行星上都是什么重量?
public class WeightTable { public static void main(String[] args) { double earthWeight = Double.parseDouble("130"); double mass = earthWeight / Planet.EARTH.surfaceGravity(); System.out.println("Mass is :" + mass); for (Planet p : Planet.values()) { System.out.printf("Weight on %s is %f%n", p, p.surfaceWeight(mass)); } } }
相关文章
- java关于throw Exception的一个小秘密
- 推荐一个超级简单 Java 图形验证码模块
- Java当中多个pdf文件合并为一个
- 胡说八道JVM—java虚拟机概论
- Java 网络教程: JarURLConnection
- Java Spring cloud classic architecture
- JAVA--Code Review Pyramid 代码检查金字塔
- 【Java】MyBatis
- 【Java】+Java实现获取服务器日志并进行处理解析
- 第七节:详细讲解Java中的日期,java.util.date
- 一个Java方法能使用多少个参数?
- Java中关于 BigDecimal 的一个导致double精度损失的"bug"
- Java分布式事务Seata安装和使用,SpringCloud Seata分布式事务安装配置和使用
- Java 判断一个整数是否是质数
- java关于throw Exception的一个小秘密
- 面试题 | Java源文件中可以有多个类,为什么只能有一个public类?
- threw load() exception java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet(maven项目git后)
- Ant—使用Ant构建一个简单的Java工程(两)
- Java的递归算法
- java代码实现python2中aes加密经历
- Java生成PDF之iTextPDF的使用
- Mybatis中Date类型筛选查询报错:invalid comparison: java.time.LocalDateTime and java.lang.String
- 解决Java使用response下载文件报错,并总结可能出错的原因: java.io.IOException: 你的主机中的软件中止了一个已建立的连接。
- Java //PP2.7 编写一个应用程序,提示并读入表示速度和旅行距离的整型值,然后以浮点型显示旅行所需要的时间
- 【Java I/O 流】文件的操作——java.io.File 类详解
- Java CountDownLatch