参数调用主方法时出错

时间:2019-08-20 02:08:02

标签: java

我有以下代码:

public class classroom{
public static void main(Integer[] args) {
    int teachers = args[0];
    int students = args[1];
    int desks = args[2];
    int computers = args[3];
    double ratio = students/desks;
    if (teachers == 1) {
           if (computers >= students) {
               if (ratio <= 6) {
                   System.out.println("this classroom is vald");
                }
            }
        }
        else {
            System.out.println("this classroom is not valid");
        }
    }
}

我将代码作为教室.main(1、2、3、4)运行,并且java返回以下错误:“ identifier required”。知道我该如何解决这个问题吗?

3 个答案:

答案 0 :(得分:0)

您应通过以下方式解决此问题的调用方法:

Classroom.main(new Integer[]{1, 2, 3, 4});

答案 1 :(得分:0)

我认为您需要...运算符,调用Classroom.main(1, 2, 3, 4)将需要您使用三点运算符更改Argument方法。通过使用三点运算符...,可以传递整数参数而无需显式创建数组。

public class ClassRoom {
    public static void main(String[] args) {
        ClassRoom.main(1, 2, 3, 4);
    }
    private static void main(Integer... args) {
        for (Integer i : args) {
            System.out.println("Argument [ " + i + " ] = " + args[i-1]);
        }
    }
}

答案 2 :(得分:0)

您应该通过import ImageCarousel from 'react-native-image-page'; <ImageCarousel autoplay={false} height={100} indicatorSize={10} indicatorOffset={-120} indicatorText="*" indicatorColor="blue" images={this.img} /> 而不是classroom.main(new Integer[] { 1, 2, 3, 4 })来调用函数。
因为该函数声明为classroom.main(1, 2, 3, 4),但声明为classroom.main(Integer[] args)

另一建议:Java类名应使用Camel Case来命名Java。