Java在ACM中的使用
作者:网络转载 发布时间:[ 2014/2/21 11:50:31 ] 推荐标签:开发 测试技术
切记:
BigInteger类不可进行+-这样的运算,要调用其成员函数进行运算。
另外BigInteger类不是int 的扩展类型,所以不能把int类型值直接赋值给BigInteger。
BigInteger类型有自己的常量:
BigInteger.zero
BigInteger.one
6、Java的字符串
String 类用来存储字符串,可以用charAt方法来取出其中某一字节,计数从0开始:
String a = "Hello"; // a.charAt(1) = 'e'
用substring方法可得到子串,如上例
System.out.println(a.substring(0, 4)) // output "Hell"
注意第2个参数位置上的字符不包括进来。这样做使得 s.substring(a, b) 总是有 b-a个字符。
字符串连接可以直接用 + 号,如
String a = "Hello";
String b = "world";
System.out.println(a + ", " + b + "!"); // output "Hello, world!“
不可以通过charAt方法改变某一单个字符
7、Java的数组
数组的定义:
int[] a = new int[100];
数组的初始化
Arrays.fill(a,0);
相当于C语言中的 memset(a,0,sizeof(a));
8、一些注意事项
使用Netbeans写Java程序的时候用自动添加package main;交题的时候要去掉这句话。
主类必须命名为 Main
虽然Java功能很强大,但不能完全依赖他,毕竟C/C++还是ACM/ICPC的主流语言。有些题目无论Java怎么写都会超时,可以用Java计算出结果然后用C/C++打表提交。
交题时,你的代码应该是如下框架
|
import ………//相当于c++的include
public class Main {
public static…….//一些自己定义的函数
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
}
}
|
Java的语法与c/c++还是很相似的,所以。。放心写吧。
|
/*
Java输入加速
用BufferedReader和StringTokenizer代替Scanner
*/
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
Reader Reader =new Reader(System.in);
double x = Reader.nextDouble();
int n = Reader.nextInt();
String str = Reader.next();
}
}
class Reader {
final BufferedReader reader;
StringTokenizer tokenizer;
public Reader(InputStream input) {
reader = new BufferedReader(new InputStreamReader(input));
tokenizer = new StringTokenizer("");
}
public String next() throws IOException {
while (!tokenizer.hasMoreTokens())
tokenizer = new StringTokenizer(reader.readLine());
return tokenizer.nextToken();
}
public int nextInt() throws IOException {
return Integer.parseInt(next());
}
public double nextDouble() throws IOException {
return Double.parseDouble(next());
}
}
|

sales@spasvo.com