【问题标题】:Command line argument in Java is giving an error [duplicate]Java中的命令行参数给出错误[重复]
【发布时间】:2019-10-29 07:08:57
【问题描述】:

我正在尝试编写一个非常简单的程序来接收用户的输入并在屏幕上再次打印出来。但我遇到了一个错误。

我的代码:-

import java.util.*;

class res_cmd {
    public static void main(String args[]){
        int first;
        System.out.println("Enter a number");
        first = Integer.parseInt(args[0]);
        System.out.println("The result is"+first);
    }
}

我得到的错误:-

C:\Users\hp\Desktop>java res_cmd

Enter a number
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
        at res_cmd.main(res_cmd.java:7)

我不确定为什么会收到此错误。 Scanner 类和 Buffer 方法正常工作,但命令行不工作。请帮忙。

【问题讨论】:

  • 传递给main 方法的args 是命令行参数,所以如果你这样做java res_cmd 52 它会起作用。如果您想要迭代用户输入,请尝试使用 Scanner
  • 提供参数。像 java res_cmd arg1 arg2 。参考这个javatpoint.com/command-line-argument
  • 您打印“输入数字”的事实表明您不了解命令行参数的工作原理。如果您想在输入数字之前打印该文本,则需要使用 Scanner 的实例。

标签: java command-line


【解决方案1】:

您没有从命令行向 main 方法传递任何值。要使用输入参数从命令行执行 java 应用程序,您需要执行以下操作

java <main class> <input parameter>

例如 java res_cmd 20

【讨论】:

    【解决方案2】:

    java res_cmd 应该有一个参数在以下相同的命令中传递:

    java res_cmd 20

    20 是这里的参数

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-05
      • 1970-01-01
      • 2018-12-15
      • 2019-11-13
      • 2016-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多