eclipse可以模拟用户输入吗?

时间:2014-12-05 12:02:01

标签: java eclipse java.util.scanner

我想编写一个接受用户输入的程序。到目前为止我很好。但是用户输入的数量失控,在调试时手动完成是不切实际的。是否有可能让eclipse为我做用户输入?如果是,它看起来怎么样?用户输入是一组以不同方式分隔的整数。有没有办法继续使用扫描仪,因为我也想测试扫描仪?

2 个答案:

答案 0 :(得分:4)

你的main方法有一个String数组作为参数传入,这个数组可以被提供""运行时的应用程序。

是的,您可以在运行配置中在Eclipse中执行此操作: enter image description here

在上图中,我们传递了参数" 10" " 103"和" 54"该计划。

示例摘录:

public static void main(String[] args){

    // Assuming we passed in the previously mentioned 3 arguments.
    System.out.println(args[0]); // 10
    System.out.println(args[1]); // 103
    System.out.println(args[2]); // 54

}

请注意,这些实际上是String个对象,所以如果你需要整数,一定要用这样的调用转换它们:

int myInteger = Integer.parseInt(args[0]); // Will try to parse args[0] as int.

不幸的是,您似乎不得不放弃Scanner这种方法,但实施这种方法并不是一件非常困难。

或者,您可以对代码的Scanner块进行注释,以暂时将其替换为此方法进行测试,然后在验证算法的正确性后,可以切换回Scanner方法为演示或非日食情况恢复手动输入。

编辑:

正如@Paco Abato所提出的,包含Scanner的一个很好的解决方案是根据在启动时是否传入任何参数来扩展输入处理。

示例摘录:

public static void main(String[] args){

    if(args.length > 0) {
        // Process the args[] array.
    } else {
        // Process input with Scanner
    }

}

答案 1 :(得分:0)

你可以写第二个程序来生成"用户输入"并通过localhost将其发送到主程序?