java - java 帮助中的命令行参数

标签 java command-line command-line-arguments

我想使用命令行参数来获取用户输入,而不是使用增强的 for 循环来求和。

这是错误:

线程“main”中的异常 java.lang.Error: Unresolved 编译问题: 类型不匹配:无法从 double 转换为 int

public class EnhanceForLoop {


public static void main(String[] args) {
    // TODO Auto-generated method stub

    if(args.length !=5)
        System.out.println(" please enter no more than 4 numbers");
    else
    {

    double sum; 
    double arrayLength = Double.parseDouble(args[0]);
    double [] myArray = new double [ arrayLength ];

    double value = Double.parseDouble((args[1]));
    double counter = Double.parseDouble((args[2]));


    for(double num: myArray)
      sum += num;


    System.out.printf("The sum is %f ", sum);

    }

}

}

目前情况如下:

公共(public)类 EnhanceForLoop {

public static void main(String[] args) {
    // TODO Auto-generated method stub

    if(args.length !=5)
        System.out.println(" please enter no more than 4 numbers");
    else
    {

    double sum = 0.0; 

    int arrayLength = Integer.parseInt(args[0]);
    double [] myArray = new double [ arrayLength ];

    double num1 = Double.parseDouble((args[1]));
    double num2 = Double.parseDouble((args[2]));
    double num3 = Double.parseDouble((args[3]));
    double num4 = Double.parseDouble((args[4]));
    double num5 = Double.parseDouble((args[5]));


    for(double num: myArray)
      sum += num;


    System.out.printf("The sum is %f ", sum);

    }

}


这里是答案:

公共(public)类 EnhanceForLoop {

public static void main(String[] args) {
    // TODO Auto-generated method stub

    if(args.length !=5)
        System.out.println(" please enter no more than 4 numbers");
    else
    {

    double sum = 0.0; 

    int arrayLength = Integer.parseInt(args[0]);
    double [] myArray = new double [ arrayLength ];

    double num1 = Double.parseDouble((args[1]));
    double num2 = Double.parseDouble((args[2]));
    double num3 = Double.parseDouble((args[3]));
    double num4 = Double.parseDouble((args[4]));



    for(String s: args){
        sum += Double.parseDouble(s);
    }
      System.out.println("Sum: "+sum);
    }




}


最佳答案

arrayLength 必须是整数。因此

int arrayLength = Integer.parseInt(args[0]);
double [] myArray = new double [ arrayLength ];

关于java - java 帮助中的命令行参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5098318/

相关文章:

Python – 验证输入是真实文件夹而不是根目录

linux - 更准确地显示shell命令的执行时间

command-line - Microsoft NuGet 针对从 Teamcity 构建项目时出现错误

linux - 在 Linux 中编译 actionscript

python - 指定要使用 argparse 运行的命令

go - 如何在 golang 标志中记录其余的 argv?

Java 字符串池测试不起作用

java - Toast 消息的困境

java - MicroProfile Rest 客户端不工作

java - Anagram Checker 解决管测验