将方法从扫描仪转换为BufferedReader

问题描述 投票:0回答:1

我最近正在参加USACO竞赛。我已经找到答案的正确算法,但是我只有10个案例中有7个测试案例,其余三个显示为“超过时间限制”。我在GeeksforGeeks和javaTpoint上搜索了发生这种情况的原因,并且这两个站点告诉我算法效率低下或使用Scanner而不是BufferedReader

[在我的Java经验(2年)中,我一直在使用Scanner,对其他任何事物都不熟悉。尽管梳理了几页,但我仍无法找到令人满意的答案,因为我想逐步使用Scanner中的哪些方法转换为BufferedReader中的哪些方法。由于我不熟悉BufferedReader,因此我可能会问错问题。我需要的方法是BufferedReadernextLine()nextInt()等效项。每个类的用例是什么?如何使用ScannerBufferedReader中实现这些方法的相同功能?

java.util.scanner bufferedreader
1个回答
0
投票

[BufferedReader中有两种方法可以从任何数据流中读取。

int read(char[] cbuf, int off, int len)

用于将字符读入数组的一部分。

String readLine()

用于读取一行文本。

BufferedReader在要读取字符串类型的数据时更有用,因为可以使用readLine()方法。对于int,long等自定义类型,首选仅使用Scanner。因此,在BufferedReader中没有nextInt()nextLong()的等效方法。

© www.soinside.com 2019 - 2024. All rights reserved.