Java命令行参数
问题描述:
这是我尝试使其工作的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的方式。
答
在主方法给出字符串数组ARGS自动界定由空格输入,以便以具有字符串[] args.length = 3则需要输入像5.7 8.6 22例如。您还可以在你的程序主要有两种方法使他们中的一个人不应该有“主”来表示你的程序才能正常
答
String[] args
包括参数用空格分开。所以,你想要的参数应该看起来像5 6.3 3
,而不是{"5","6.3","3"}
。
尝试使用System.out.println(Arrays.toString(args));
得到了什么是真正的ARG看起来像一个感觉。
这里实际上没有真正的逻辑。如果你的'if'条件固定为'args.length == 3',那么它会打印出你的中间号码,并声称它在你的第一个和最后一个号码之间。也就是说,你给这个程序输出了什么样的输出,你回来了什么输出? – Makoto
这不是你如何传递参数给java。 'java -cp。数字5 6.3 3' –
*我的代码似乎不工作*。这是一个太模糊的描述。准确地告诉你在做什么,你期望发生什么,取而代之的是什么。 –