HDU-1063 Exponentiation Java

  这次是被彻底的无语了,由于对java语言的不熟悉,很对简单的操作都是无计可施,还好上网查了一下一些函数的API,熟悉了相关的操作。只能惊叹java自带的类还是很强大的。代码如下:

  

import java.math.BigDecimal;
import java.util.Locale;
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        BigDecimal a, res;
        int exp;
        while (in.hasNextBigDecimal()) {
            res = BigDecimal.ONE;
            a = in.nextBigDecimal();
            exp = in.nextInt();
            for (int i = 1; i <= exp; ++i) {
                res = res.multiply(a);
            }
            res = res.stripTrailingZeros();  // 先去掉后导的零
            String ss = res.toPlainString(); // 再转化为普通的字符串
            if (ss.indexOf("0") == 0) {      // 再判定是否整数部分为零
                ss = ss.substring(1);          // 如果整数部分为零,就减去前面的"0"
            } 
            System.out.println(ss);
        }
    }
}

  

posted @ 2011-08-14 13:58  沐阳  阅读(431)  评论(0编辑  收藏  举报