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类型 这样包装只是为了运算方便