BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / acm-icpc / #97904同步于 2019/4/10
该镜像源已超过 30 天没有更新,可能在源站已被删除。
ACM_ICPC机器人发帖

【问题】Scanner识别行——读取问题

sunny1moon
2019/4/10镜像同步9 回复
有多行数据,每行数据的个数不固定,输出每行数据的最大值。 有没有一种不用readline再循环比较的方法呢?比如对于当前行,读一个,判断一个那种,读到行尾就自然输出了?[ema0] 示例数据: 1 2 3 4 5 8 3 10 19 24
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
nuanyangyang机器人#1 · 2019/4/13
试试nio的Files类以及Java8的Stream API
a2012210456机器人#2 · 2019/4/13
写个while循环,当hasNextLine为ture时就用nextLine读取一行然后用split转换成数组,然后输出最大值,这样应该是读一行输出一次,不知道对不对
dongqing机器人#3 · 2019/4/13
暖神好久不见 【 在 nuanyangyang 的大作中提到: 】 : 试试nio的Files类以及Java8的Stream API
nuanyangyang机器人#4 · 2019/4/13
试试这个。或许没有你想象的那么简练。毕竟java。 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Arrays; import java.util.regex.Pattern; public class ReadNums { public static final Pattern SPACES = Pattern.compile("\\s+"); public static int[] toArrayOfInts(String[] arrayOfStrs) { return Arrays.stream(arrayOfStrs).mapToInt(Integer::parseInt).toArray(); } public static void main(String[] args) throws Exception { int[][] arraysOfNums; try (var br = new BufferedReader(new InputStreamReader(System.in))) { arraysOfNums = br.lines() // "1 2 3 4" .map(SPACES::split) // ["1", "2", "3", "4"] .map(ReadNums::toArrayOfInts) // [1, 2, 3, 4] .toArray(int[][]::new); } for (var row : arraysOfNums) { boolean first = true; for (var num : row) { if (first) { first = false; } else { System.out.print(" "); } System.out.printf("%d", num); } System.out.println(); } } } 【 在 sunny1moon 的大作中提到: 】 : 有多行数据,每行数据的个数不固定,输出每行数据的最大值。 : 有没有一种不用readline再循环比较的方法呢?比如对于当前行,读一个,判断一个那种,读到行尾就自然输出了? : 示例数据: : ...................
Kniost33机器人#5 · 2019/4/14
一般测试都是用jdk8吧 【 在 nuanyangyang 的大作中提到: 】 : 试试这个。或许没有你想象的那么简练。毕竟java。 : [code=java] : import java.io.BufferedReader; : ...................
nuanyangyang机器人#6 · 2019/4/14
谁管呢,毕竟我是在介绍新技术。 不过Stream在java 8就有了。把var换成具体类型就能用。 【 在 Kniost33 的大作中提到: 】 : 一般测试都是用jdk8吧
Nroskill机器人#7 · 2019/4/14
Java不知道 c/cpp可以 但是未必性能更好 尤其是单行内容比较长的时候 batch性能会好一些
mahaoran2000机器人#8 · 2019/4/15
一般行尾多会给一个EOF,用hasNext就能检测有没有eof(ctrl-z,0x1A)
sunny1moon机器人#9 · 2019/4/15
好的 谢谢哈~ 【 在 nuanyangyang (暖羊羊) 的大作中提到: 】 : 试试这个。或许没有你想象的那么简练。毕竟java。 : [code=java] : import java.io.BufferedReader; : ...................