//poj 1001 import java.math.*; import java.io.*; import java.util.*; import java.lang.*; public class Main { public static void main(String[] args) { Scanner cin=new Scanner(System.in);//初始化输入管道 while(cin.hasNextBigDecimal())//持续读入 { BigDecimal a = cin.nextBigDecimal();//读入一个大数 a=a.pow(cin.nextInt()).stripTrailingZeros();//直接乘方,并同步去掉末尾的零 String b=a.toPlainString();//转化为字符串 if( b.substring(0,2).startsWith("0."))//修改纯小数的输出方法 b=b.substring(1);//若为“0.xxx”,则从“.”开始截取剩下部分 System.out.println(b);//带换行输出 } } } //hoj 1368
import java.util.*; import java.math.*; public class Main { public static void main(String[] args) { BigDecimal a,b,ans; int c; String op;//op is String,not char Scanner cin =new Scanner(System.in); while(cin.hasNextBigDecimal()) { a=cin.nextBigDecimal(); op=cin.next();//String read by next,it seems that blanks before and after will be ignored b=cin.nextBigDecimal(); if(op.equals("+"))//judge equal System.out.println(a.add(b)); else if(op.equals("-")) { System.out.println(a.subtract(b)); } else if(op.equals("*")) { System.out.println(a.multiply(b)); } else if(op.equals("/")) { BigDecimal result[] = a.divideAndRemainder(b);//useful func;return an array System.out.print(result[0] + " " + result[1]+" "); //how to use print.. c=cin.nextInt(); ans=a.divide(b,c,BigDecimal.ROUND_HALF_UP);//divide()overloaded as (dividor,precision,round mode) System.out.println(ans.toPlainString());//why?toforbid exponent expression } } } }
[Java]代码阅读记录
最新推荐文章于 2021-02-28 01:00:47 发布