在java中读取输入

时间:2010-04-05 12:33:46

标签: java

大家好我正在尝试通过解决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

程序只是旋转(执行)但不打印任何东西。我该如何解决这个问题?

3 个答案:

答案 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());
}

启动程序后,您应该提供一些数字作为输入。