JAVA - 未检测到的方法/功能

时间:2016-04-20 15:18:19

标签: java methods undefined main

我用Java编写了一个脚本,一切都很好,除了一个小细节。 Java没有重新认识我的功能“ajouter”,而它的定义很明确。 有两个Java文件:Conteneur和Main(用于“public static void main”)。 这里有2个源代码: Conteneur:

 public static double[] ajouter(int Valeur, double Tableau[]){
    double x;
    for(int i =0; i<Tableau.length; i++)
    {
        x = Tableau[i];
        if (Double.isNaN(x) == true && i == 10){
            System.out.println("Tableau plein");
            return Tableau;}
        if( Double.isNaN(x) == true){
            Tableau[i]=Valeur;
        }

    }
    return Tableau;
}

主要:

public static void main(String[] args) {
    double Tableau[] = { 1, 2, 3, 4, 5 };
    System.out.println(ajouter(6, Tableau));
}

在它写入的行:“System.out.println(ajouter(6,Tableau));”,JAVA显示“方法ajouter(int,double [])未定义类型main”。

你能帮我吗?

提前谢谢!

祝你好运!

4 个答案:

答案 0 :(得分:2)

假设您已导入Conteneur课程,在主要方法中,您需要像这样调用它:

System.out.println(Conteneur.ajouter(6,Tableau));

答案 1 :(得分:1)

您需要在import static Conteneur.*课程中Main,以便在不引用和导入Conteneur本身的情况下引用Conteneur的静态方法。

所以,无论如何:

  • import static Conteneur.* // and no further change
  • import Conteneur // reference "ajouter" with Conteneur.ajouter

您还想:

  • 使用IDE
  • 在您的代码中使用英语,除非您的项目将由讲法语的人维护(并且仍然,我仍然使用英语)
  • 使用适当的变量命名,例如不是CamelCase而是camelBack

答案 2 :(得分:0)

应该包含定义静态方法的类。 Conteneur.ajouter(6,Tableau)

答案 3 :(得分:0)

以下正确打印表格Tableau

public class Main {

public static void main(String[] args) {
        double Tableau[]={1,2,3,4,5};
       // System.out.println(Conteneur.ajouter(6,Tableau));
        Conteneur.ajouter(6,Tableau);
        for (int i=0; i<Tableau.length; i++){
            System.out.println(Tableau[i]);
        }
        }

}

但是,Double.isNaN(x)始终为false(因为xdouble),因此永远不会添加值Valeur