大家好我正在尝试通过解决ACM中的一些问题来提高我的Java技能,现在我的样本输入就是这样:
3 100
34 100
75 250
27 2147483647
101 304
101 303
-1 -1
所以起初我只是试图阅读它们,但它在这里不起作用的是java代码:
import java.io.BufferedInputStream;
import java.util.Scanner;
public class Main {
public static void main(String args[]) {
Scanner stdin = new Scanner(new BufferedInputStream(System.in));
while (stdin.hasNext()) {
System.out.println(stdin.nextInt() + " and the next " + stdin.nextInt());
}
}
}
我正在尝试将这些输入作为参数发送,而不是通过从文件中读取它们,这是如何:
alt text http://i41.tinypic.com/j61npu.gif
程序只是旋转(执行)但不打印任何东西。我该如何解决这个问题?
答案 0 :(得分:5)
您在向导中指定的参数不会通过std输入到程序中。而是通过传递到String[] args
方法的main
参数传入它们。看起来您在Eclipse中运行,您可以转到生成的Console选项卡并输入该窗口。或者,您可以遍历args
参数来获取这些值。
答案 1 :(得分:1)
我没有使用Eclipse,但是这应该打印出你输入的数字。 您将数字作为字符串参数传递,因此:“3 100”实际上等于
String str = 3 + " " + 100;
这应该打印数字:
public static void main(String[] args)
{
for (String arg : args)
{
System.out.println(arg);
}
}
答案 2 :(得分:0)
试试这个:
Scanner sc = new Scanner (System.in);
while (sc.hasNextInt()) {
System.out.println(sc.nextInt());
}
启动程序后,您应该提供一些数字作为输入。