Scanner cin = new Scanner(new BufferedReader(
new InputStreamReader(System.in))); //创建流对象
在创建流对象的是时候,有点技巧,进行了这样多包装,目的只有一个,那就是提高效率!
如果是想入读一行文本的话,可以这样进行包装:
DataInputStream cin = new DataInputStream(new BufferedInputStream(System.in));
这是因为在DataInputStream类中有readLine()方法,该方法的作用就是读入一行文本!直到遇到换行的时候结束!
BigDecimal num = cin.nextBigDecimal(); //这样可以输入一个高精度的数字!BigDecimal.ONE.negate(); //返回 -this 比如当前对象是8 那么调用negate()方法的结果就是返回-8对象for (BigDecimal i = BigDecimal.ONE; i.compareTo(a) == -1; i = i
.add(BigDecimal.ONE)) {} //对于高精度的for循环可以这样写BigInteger p = cin.nextBigInteger(b); // 从键盘上输入一个b进制的数就可以这样做到p.mod(m).toString(b); //两个b进制的数做mod运算还得到b进制的结果Integer.parseInt(String.valueOf(a.charAt(i))); //提供了一种将一个数字字符串中相应位置的字符转换成整数包装类的对象的方法BigInteger.valueOf(a2); //如果a2是int基本类型,那么这行代码就能将其包装成BigInteger类型 这样包装只是为了运算方便
Java高精度编程技巧总结
本文介绍了在Java中使用高精度处理时的一些效率提升技巧,特别是通过特定的流对象包装来优化读取文本操作。利用DataInputStream的readLine()方法,能够有效地读入一行文本直至遇到换行符。
2735

被折叠的 条评论
为什么被折叠?



