zl程序教程

您现在的位置是:首页 >  后端

当前栏目

java中快读快写

2023-09-27 14:19:57 时间

StreamTokenizer类和PrintWriter类

StreamTokenizer类

StreamTokenizer类需要抛I/O异常 (throws IOException)
在每次输入前,先打上nextToken()方法获取下一个数据
然后利用st.nval读取数据
nval方法读取数字类型数据。读取字符串类型的数据时,一次只能读一个字符串,读取数字类型的数据时,默认为double类型

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.StreamTokenizer;

public class Main{
    

    public static void main(String[] args)  throws IOException{
        StreamTokenizer st = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));
		PrintWriter pw = new PrintWriter(new BufferedWriter(new OutputStreamWriter(System.out)));
		st.nextToken();
		int n = (int)st.nval;
        int ans=0;
        for(int i=0;i<n;i++){
            st.nextToken();
            ans^=(int)st.nval;
        }
        pw.println(ans);
        pw.flush();
    }
}

若我们只想读取字符串,就不需要加StreamTokenizer类

import java.io.*;
public class test {
	public static void main(String args[]) throws IOException{
//		StreamTokenizer re = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));
		BufferedReader re = new BufferedReader(new InputStreamReader(System.in));
		String x = re.readLine();
		System.out.println(x);
	}
}

PrintWriter类

将System.out替换成对应的快输出的实例对象名即可,就是记得最后要利用flush()关闭一下,要不会没有输出