2017-03-01 117 views
0

这是我尝试使其工作的java命令行参数的代码,但它不允许我这样做。Java命令行参数

我必须写包含main方法和另一个类的方法(所以有在该类中的两个类方法)的类。

主要方法调用其他类的方法和传递给它作为参数转换为double三个命令行参数。

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

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

这是我的第一类,它被称为编号:

// 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); 
     } 
    } 

这是我所谓的中东和第二类这应该是与数字类从上面链接,它应该发阵列双参数用户输入它,然后将其存储并输出回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 “}。

我用冒泡然而,关于扶植保持是找不到符号法nextDouble()的错误。

如果没有任何建议会有帮助,格式是否正确如我使用bubblesort的方式。

+0

这里实际上没有真正的逻辑。如果你的'if'条件固定为'args.length == 3',那么它会打印出你的中间号码,并声称它在你的第一个和最后一个号码之间。也就是说,你给这个程序输出了什么样的输出,你回来了什么输出? – Makoto

+0

这不是你如何传递参数给java。 'java -cp。数字5 6.3 3' –

+1

*我的代码似乎不工作*。这是一个太模糊的描述。准确地告诉你在做什么,你期望发生什么,取而代之的是什么。 –

回答

0

在主方法给出字符串数组ARGS自动界定由空格输入,以便以具有字符串[] args.length = 3则需要输入像5.7 8.6 22例如。您还可以在你的程序主要有两种方法使他们中的一个人不应该有“主”来表示你的程序才能正常

0

String[] args包括参数用空格分开。所以,你想要的参数应该看起来像5 6.3 3,而不是{"5","6.3","3"}

尝试使用System.out.println(Arrays.toString(args));得到了什么是真正的ARG看起来像一个感觉。