输入:
格式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);
}
(我其实更喜欢这种,写的时候不拖泥带水)