zoukankan      html  css  js  c++  java
  • 第一章课后习题1.3

    1.3 只使用处理I/O的printDigit方法,编写一种方法以输出任意double型量(可以是负值)。

    package com.algorithm.chapterone;
    
    /**
     * 只使用处理I/O的printDigit方法,编写一种方法以输出任意double型量(可以是负值)
     * @author Gao·Rongzheng
     *
     */
    public class QuestionThree {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            double num = -12.63;
            if (num < 0) {
                System.out.print("-");
                num = Math.abs(num);
            }
            int integer = (int) num;
            int integerLength = Integer.toString(integer).length();
            int decimalLength = Double.toString(num).length() - integerLength - 1;
            
            printDigit(num, -integerLength, decimalLength);
        }
        
        public static void printDigit(double num, int integerLength, int decimalLength) {
            //※ 递归方法的的基准
            if (integerLength == decimalLength) { return; }
            //※ 往基准靠拢
            integerLength++;
            int n = (int) (num * Math.pow(10, integerLength));
            System.out.print(n % 10);
            //※ 判断输出小数
            if (integerLength == 0) {
                System.out.print(".");
            }
            printDigit(num, integerLength, decimalLength);
        }
    }
  • 相关阅读:
    A+B Problem
    迭代平方根
    猴子报数
    分数求和
    猴子吃桃
    钻石
    杨辉三角形
    MYSQL 5.7 修改密码、登录问题
    SQL 语句 explain 分析
    重构CMDB,避免运维之耻
  • 原文地址:https://www.cnblogs.com/code-future/p/11419053.html
Copyright © 2011-2022 走看看