吐槽:多行输入问题

248 阅读1分钟

多行输入问题

今天B站笔试中,居然由于输入问题导致心态爆炸!本来就由于之前 B站北邮事件对B站极具偏见,这场笔试更加让人感到非常不适。反正,笔试也就那样了,解决一下多行数据输入问题。

假设需将多行数据读取至数组中,其中数据如下:

 1,2,3,4,5,9
 2,4,5,8,910
 3,5,7,9,11
 1,3,5,7,9

网上很多解答大部分采用空行判断。但如果没有空行又得耽误时间,笔试本来就紧张,试来试去更裂开。 因此直接按照文件读取方式,读取控制台输入数据:

 import java.io.*;
 import java.util.Arrays;
 public class Solution {
     public static void main(String[] args) {
         BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
         BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(System.out));
         try {
             try {
                 char[] buf = new char[500 * 500];
                 int len = reader.read(buf, 0, 500 * 500);
                 String val = String.valueOf(Arrays.copyOfRange(buf, 0, len));
                 String[] DATA = val.split("\n");
                 for (String L : DATA) {
                     System.out.println(L);
                 }
             } finally {
                 reader.close();
                 writer.close();
             }
         } catch (IOException e) {
         }
     }
 }
 ​

对了,不一定完全是B站的锅,很多矛头都指向赛码平台,但具体是谁的锅就不管了,兵来将档,水来土掩,有备无患!

\