有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

oop Java命令行参数

这是我为java命令行参数编写的代码,我正试图让它工作,但它不允许我这样做

我必须编写一个包含main方法和另一个class方法的类(所以这个类中有两个class方法)

main方法调用另一个类方法,并将三个命令行参数转换为double作为参数传递给它

然后,class方法以特定的输出格式返回三个中间数

用户将输入三个数字,然后输出到下面的数字类中

这是我的第一节课,叫做数字:

    // import java.util.Scanner;
    // import java.util.Arrays;
    // import java.util.List;
    // import java.util.ArrayList;

    public class Numbers {

        public Numbers() {
        }

        public static void main (String[] args) {
            Middle.main(args);
        }
    }

这是我的第二个名为Middle的类,它应该与上面的Numbers类链接,它应该发送用户输入的数组双参数,然后存储,然后输出回Numbers类

public class Middle{

public void Middle()
{
}

public static void main(String[]args)
{
    double num, i, j, temp;

    double a,b,c;
    a = Double.parseDouble(args[0]);
    b = Double.parseDouble(args[1]);
    c = Double.parseDouble(args[2]);

    //USE COLLECTIONS.SORT OR BUBBLESORT

    num = input.nextDouble();

    int array[] = new int[num];

    for (i = 0; i < num; i++) 
    array[i] = input.nextInt();

for (i = 0; i < ( num - 1 ); i++) 
{
  for (j = 0; j < num - i - 1; j++) 
  {
    if (array[j] > array[j+1]) 
    {
       temp = array[j];
       array[j] = array[j+1];
       array[j+1] = temp;
    }
  }
}
    for (i = 0; i < num; i++) 
    System.out.println(array[i]);


    if(args.length ==3)
    {
    System.out.println(b + " is between " + a + " and " + c);
    }
    else
    {
    System.out.println("Error");    
    }
}

}

我正在使用BlueJ测试我的程序,命令行参数在括号内键入,并在括号内加上双引号,即{“5”、“6.3”、“3”}

我使用过bubblesort,但是一直存在的错误是找不到symbol方法nextDouble()

格式是否与我使用bubblesort的方式相同?如果没有,任何建议都会有所帮助


共 (1) 个答案

  1. # 1 楼答案

    main方法中给出的字符串数组args会自动用空格分隔输入,从而生成字符串[]args。长度=3你需要输入例如5.7 8.6 22。您的程序中还有两个主要方法,因此其中一个不应该用“main”来表示,这样您的程序才能正常运行