您的位置:首页 > 理论基础 > 数据结构算法

只使用处理IO的printDigit函数,编写一个过程以输出任意实数可以为负(java数据结构与算法习题1.3)

2017-08-25 09:38 621 查看
写之前大概搜了下大家的思路,发现大多数都是通过寻找小数点的位置来解的。本算法通过嵌套的方法来输出任意实数

public class A2_1_3 {

public static void main(String[] args) {
out(1234.56789);
out(-1234.56789);
out(0.123456789);
out(-0.0100200030004000005);
out(0.00001);
}

public static void out(double num){
if(num < 0){
num = -num;				//正负号
System.out.print("-");
}

int zhengshu = (int)num;
printInt(zhengshu);				//整数
System.out.print(".");				//小数点
printDouble(num - zhengshu);			//小数
//System.out.println();
//System.out.println(num - zhengshu);
System.out.println();
}

public static void printInt(int zhengshu){
if(zhengshu >= 10){
printInt(zhengshu / 10);
}
System.out.print(zhengshu % 10);
}

public static void printDouble(double xiaoshu){

if(xiaoshu < 1 && xiaoshu >= 0.00001){		// 通过这里确定小数精度,现输出最高精度为0.00001(连续出现4个0的情况)
System.out.print((int)(xiaoshu*10) % 10);
printDouble(xiaoshu*10 - (int)(xiaoshu*10));
}
}
}

输出:










                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐