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