为什么Java程序不能识别第二个命令行参数?

为什么Java程序不能识别第二个命令行参数?,java,Java,构建一个随机数生成器,该生成器接受上边界输入、用户生成的数字并打印结果 无论出于何种原因,我的编译程序都不会将边界参数识别为第二个参数,并且会根据我的参数检查退出 如果能帮助我理解如何解决这个问题,以及我可能会遗漏什么,我们将不胜感激 谢谢 import java.util.Random; import java.util.Scanner; public class RandNumGen{ public static void main(String[] args){ // intr

构建一个随机数生成器,该生成器接受上边界输入、用户生成的数字并打印结果

无论出于何种原因,我的编译程序都不会将边界参数识别为第二个参数,并且会根据我的参数检查退出

如果能帮助我理解如何解决这个问题,以及我可能会遗漏什么,我们将不胜感激

谢谢

import java.util.Random;
import java.util.Scanner;

public class RandNumGen{
    public static void main(String[] args){

// intro
System.out.println("*****************************************");
System.out.println("*Welcome to the Random Number Generator!*");
System.out.println("*    Discussion 7: Michael Stadnicki    *");
System.out.println("*****************************************");

// ask user to input numbers to be generated
System.out.println("Please enter how many random numbers you would like generated!");
Scanner numGen = new Scanner(System.in);
    int randomNum = numGen.nextInt();
System.out.println("We will generate " + randomNum +" random numbers!");

// ask user to input out boundary for the random numbers
System.out.println("Please enter the boundary for our random numbers to be generated!");
Scanner boundGen = new Scanner(System.in);
    int randomBound = boundGen.nextInt();
System.out.println("We will use " + randomBound +" as our boundary for generation!");

// build our random number generator
Random rNum = new Random();

// check our arguments
if (args.length == 2) {
    randomNum = Integer.parseInt(args[0]);
    randomBound = Integer.parseInt(args[1]);
} else {
    System.out.println("You are required to have 2 arguments on the command line!");
    System.exit(0);
}

// print our random numbers generated based on above bounds and numbers
for (int i = 0; i <randomNum; i++) {
    int numOutput = rNum.nextInt(randomBound + 1);
    System.out.println("Your random numbers are: " + numOutput);
}

}

}

尝试只询问用户输入,不要使用参数。不要使用两种不同的扫描仪,打电话就行了 numGen.nextInt;
两次。

为什么同时要求用户输入和命令行参数…?并提示:您可以打印args数组以查看它包含的内容。学习编程就是要自己做实验……我猜你实际上并没有像java myProgram那样传递命令行参数。不要让扫描仪读取系统输入与命令行参数混淆,它们是完全独立的!我明白了,看看这篇文章:我可以使用两个int变量,比如说int number=0;和int boundValue=0;然后将这些数据向下传递,而不是通过scanner类使用输入?