• 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));
            }
        }
    }
  • 相关阅读:
    排序算法(二)插入排序---直接插入排序
    Shazam 是如何听音辨曲的?
    Android 读取<meta-data>元素的数据
    Android <uses-featureandroid:name="string">详解
    Android AsyncTask的用法
    Android ViewPager使用详解
    Git 使用教程(4)—— Git 常用命令集合
    Git 使用教程(3)
    Git 使用教程(2)
    Git 使用教程
  • 原文地址:https://www.cnblogs.com/frankyou/p/7323613.html
Copyright © 2020-2023  润新知