Java一点输入输出技巧

输入:

格式1:Scanner sc = new Scanner(System.in);

格式2:Scanner sc = new Scanner(new BufferedInputStream(System.in));

数据量大时,格式2更快。

Split方法:

String str = scanner.next();

String[] date = str.split("/");

System.out.println(date[0]+"年"+date[1]+"月"+date[2]+"日");

DecimalFormat

NumberFormat

保留小数位数!!

BigDecimal.setScale(2,BigDecimal.ROUND_HALF_UP);

子串:

String ss = "wo ai zhou";

System.out.println(ss.substring(3,7));

截取子串从第3个到第7个(从0开始,第7位不算)

结果是:ai z

高精度:

BigInteger和BigDecimal 是Java作为解题工具来说具有较大优势的地方

BigInteger bigN = new BigInteger(st,base); //base表示进制

进制转换

同样也是Java非常具有优势的一个地方

int a = Integer.parseInt("12534",8);

System.out.println(a);

String res = Integer.toString(12345,16);

System.out.println(res);

文件输入输出

这里只记录比较高效的方法:

写文件:

FlieWriter类:

FileWriter fw = new FileWriter("my.txt");

fw.write("Hello");

fw.close();

读文件:

File file = new File("my.txt");

FileInputStream fis = new FileInputStream(file);

InputStreamReader isReader = new InputStreamReader(fis);

BufferedReader br = new BufferedReader(isReader);

String ss;

while((ss = br.readLine())!=null){

    System.out.println(ss);

}

或者直接:

File file = new File("my.txt");

BufferedReader br =

new BufferedReader(new InputStreamReader(new FileInputStream(file)));

String ss;

while((ss = br.readLine())!=null){

    System.out.println(ss);

}

(我其实更喜欢这种,写的时候不拖泥带水)

原文地址:https://www.cnblogs.com/zhouxiaosong/p/6910690.html