zoukankan      html  css  js  c++  java
  • Java的一个关于“星球”的枚举

    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));
            }
        }
    }
  • 相关阅读:
    Anniversary party
    1358. 分割树
    我在 impress.js 中学到的小套路
    我对 impress.js 源码的理解
    CSS transition 过渡 详解
    CSS 2D转换 matrix() 详解
    JS 动画基础
    JS 瀑布流布局
    JS 下拉菜单
    JS Resizable Panel 练习
  • 原文地址:https://www.cnblogs.com/frankyou/p/7323613.html
Copyright © 2011-2022 走看看