Java在ACM中的使用

框架

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(); // 字符串转换为字符数组.

大数

BigIntegerBigDecimal,需要引入import java.math.*
函数:addsubtractmultiplydividemodcompareTo等,其中加减乘除模都要求是BigInteger\BigDecimalBigInteger\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);
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值