输入不应超过 xxx KB
Input shouldnt exceed xxx KB
我正在解决 java 中的一些问题,我在问题中遇到了这一行...“输入的总大小不超过 300 KB”,“输入的总大小不超过不得超过 256 KB
我的疑问是如何确保我的输入小于该值。
我实际上尝试过使用
CountingInputStream (CountingInputStream input = new CountingInputStream(System.in);)
验证它。这是 Google.
的外部 jar 文件
但是当我在在线编译器中提交我的解决方案时,CountingInputStream
没有被编译器采用。那么我如何不使用它呢?..以一般方式?
CountingInputStream input = new CountingInputStream(System.in);
System.out.println("Enter Values: ");
while (scanner.hasNext() && input.getCount() < (256 * 1024))
我现在正在做...但是有没有一种方法可以让我在不使用 CountingInputStream
的情况下控制我的输入。请帮助
使用 InputStream
,调用 read()
方法,并递增计数器。
read()
将 return 一个字节,或流末尾的 -1。
例如
int MAX = 256 * 1024;
int count = 0;
while (true) {
int return = is.read();
if (return == -1) break;
if (++count >= MAX) {
// maximum limit reached
} else {
// store the byte somewhere, do something with it...
}
}
编写自己的 class 装饰 InputStream
,覆盖 read
方法来计算字节数,然后在字节数超过某个阈值时抛出异常。您的驱动程序可能如下所示:
InputStream in = new ByteLimiterInputStream(new FileInputStream("file.bin"));
while(...)
in.read();
这会在您读取过多数据时抛出异常。 ByteLimiterInputStream
class 由你来写。这毕竟是学术练习:锻炼自己的大脑,不要问别人答案。
我正在解决 java 中的一些问题,我在问题中遇到了这一行...“输入的总大小不超过 300 KB”,“输入的总大小不超过不得超过 256 KB
我的疑问是如何确保我的输入小于该值。
我实际上尝试过使用
CountingInputStream (CountingInputStream input = new CountingInputStream(System.in);)
验证它。这是 Google.
的外部 jar 文件但是当我在在线编译器中提交我的解决方案时,CountingInputStream
没有被编译器采用。那么我如何不使用它呢?..以一般方式?
CountingInputStream input = new CountingInputStream(System.in);
System.out.println("Enter Values: ");
while (scanner.hasNext() && input.getCount() < (256 * 1024))
我现在正在做...但是有没有一种方法可以让我在不使用 CountingInputStream
的情况下控制我的输入。请帮助
使用 InputStream
,调用 read()
方法,并递增计数器。
read()
将 return 一个字节,或流末尾的 -1。
例如
int MAX = 256 * 1024;
int count = 0;
while (true) {
int return = is.read();
if (return == -1) break;
if (++count >= MAX) {
// maximum limit reached
} else {
// store the byte somewhere, do something with it...
}
}
编写自己的 class 装饰 InputStream
,覆盖 read
方法来计算字节数,然后在字节数超过某个阈值时抛出异常。您的驱动程序可能如下所示:
InputStream in = new ByteLimiterInputStream(new FileInputStream("file.bin"));
while(...)
in.read();
这会在您读取过多数据时抛出异常。 ByteLimiterInputStream
class 由你来写。这毕竟是学术练习:锻炼自己的大脑,不要问别人答案。