笔试题 Java的输入输出 Scanner用法
一、 概述
第一次笔试的时候不太熟悉Java的输入输出,会写的题目也没有AC。复盘的时候打算把Java的输入输出搞清楚。
一般笔试题输入,会分成一下几种情况:
下面的情况都是以Int举例,其他数据类型换成相应的读入方法即可。
前两种情况是输入输出量很小的情况,用Scanner一般不会超时,如果输入输出量很大的情况,Scanner就会超时,这个时候用BufferedReader和BufferedWriter比较好。
二、单行输入
先来看最简单的单行输入
主要是通过nextInt()不停地读入
8 7 8 3 4 2 4 5 0
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while(in.hasNext()) {
int n = in.nextInt();
int[] nums = new int[n];
for(int i = 0; i < n; i++) {
nums[i] = in.nextInt();
}
}
in.close();
}
}
三、多行输入
3.1 每行参数个数确定
这种情况也比较简单
以字节这次笔试的题目为例来讲
题目:
- 第一行是一个正整数N(2<=N<=1000),表示数组长度
- 第二行是N个数K1, K2, …, Kn 组成的环形数组,Kn 为0或1
也是通过 nextInt()
import java.util.Scanner;
public class ChooseSeat {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while(in.ha