框架
import java.util.*;
public class Main{
public static void main(String args[]) {
}
}
输入
Scanner cin = new Scanner(System.in);
···
cin.close();
读一个整数:
int n = cin.nextInt();
读一个字符串S:
tring s = cin.next();
读一个浮点数:
double t = cin.nextDouble();
读一整行:
String s = cin.nextLine();
判断是否有下一个输入可以用in.hasNext()
或cin.hasNextInt()
或cin.hasNextDouble()
等
输出
System.out.print(); // cout << …;
System.out.println(); // cout << … << endl;
System.out.printf(); // 与C中的printf用法类似.
对于规格化输出,这里
0
0
0指一位数字,
#
\#
#指除
0
0
0以外的数字(如果是
0
0
0,则不显示),四舍五入,需要import java.text.*;
DecimalFormat fd = new DecimalFormat("#.00#");
DecimalFormat gd = new DecimalFormat("0.000");
System.out.println("x =" + fd.format(x));
System.out.println("x =" + gd.format(x));
字符串处理
java中字符串String是不可以修改的,要修改只能转换为字符数组.
String st = "abcdefg";
System.out.println(st.charAt(0)); // st.charAt(i)就相当于st[i].
char [] ch;
ch = st.toCharArray(); // 字符串转换为字符数组.
大数
BigInteger
和BigDecimal
,需要引入import java.math.*
函数:add
,subtract
,multiply
,divide
,mod
,compareTo
等,其中加减乘除模都要求是BigInteger\BigDecimal
和BigInteger\BigDecimal
之间的运算,所以需要把int\double
类型转换为BigInteger\BigDecimal
,用函数BigInteger.valueOf()
进制转化
把num当做10进制的数转成base进制的st(base <= 35).
String st = Integer.toString(num, base)
把st当做base进制,转成10进制的int(parseInt有两个参数,第一个为要转的字符串,第二个为说明是什么进制).
int num = Integer.parseInt(st, base)
st是字符串,base是st的进制
BigInter m = new BigInteger(st, base)
如果要将一个大数以2进制形式读入 可以使用
cin.nextBigInteger(2)
当然也可以使用其他进制方式读入;
如果要将一个大数转换成其他进制形式的字符串 使用
cin.toString(2)
将它转换成2进制表示的字符串
排序(留坑待补)
Arrays.sort(),对于结构体排序,需要实现接口,留坑待补
Arrays.sort(a);