快读模板(Java)
我对快读模板的总结都在下面的代码中了,仔细瞅瞅!👇
这下面是创建方法的模板
模板一.
import java.io.*;
import java.util.Arrays;
public class Fast_Read1{
//System.out 是输出字节流
//OutputStreamWriter 将字节流的数据转换成字符流
//BufferedWriter 是一个缓冲字符输出流,它为字符输出提供了缓冲功能
//如果要输出数据 ,它会先把数据写到缓冲区,需要flush()或者缓冲区满,才会输出出来
///PrintWriter是一个功能强大的字符输出流,提供了很多方法println()、print()、printf() 等
public static PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(System.out)));
//System.in 是输入字节流
//InputStreamReader 将字节流的数据转换成字符流
//BufferedWriter 是一个缓冲字符输出流,它为字符输出提供了缓冲功能
static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//StreamTokenizer它主要将输入流分解成一个个标记。标记可以是数字、单词、标点符号等。它方便对文本进行解析和处理
static StreamTokenizer st = new StreamTokenizer(br);
//转换成方法
//这里面的方法名称可以修改
//如果要创建不同类型 ,就可以把这个方法进行重载即可
static int nextInt() throws IOException {//默认为Double类型
//nextToken() 是 StreamTokenizer 类的一个方法,它的作用是从输入流中读取下一个标记
st.nextToken();
//这可以进行类型的转换!!
return (int) st.nval; //nval是成员变量,用于存储当前标记的数值
}
public static void main(String[] args) throws IOException {
int[] arr = new int[5];
for (int i = 0; i < 5; i++) {
arr[i] = nextInt();
}
for (int i = 0; i <5 ; i++) {
out.print(arr[i]+" ");
out.flush();
}
}
}
模板二👇.
也可以不通过创建方法来进行使用,但是这时你需要对字符串转换成其它变量类型的方法比较熟悉
👇
import java.io.*;
import java.util.Arrays;
public class Fast_Read {
public static PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(System.out)));
static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
public static void main(String[] args) throws IOException {
int[] arr = new int[5];
out.println(5);
//记得刷新缓冲区
out.flush();
String s = br.readLine();
int nums = Integer.parseInt(s);
double nums1 = Double.parseDouble(s);
long nums2 = Long.parseLong(s);
//有缺点,不能一行输入!所有值 对数组有问题!!
for (int i = 0; i <5 ; i++) {
String input = br.readLine();
arr[i] = Integer.parseInt(input);
}
out.print(Arrays.toString(arr));
out.flush();
}
}
对数组的操作有缺陷,不能够连续输入数组的值👇
只能下面的输入👇
当然也可以混用,看你自己了
如果觉得文章对你由帮助,点个赞再走吧