我用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”。
你能帮我吗?
提前谢谢!
祝你好运!
答案 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
您还想:
答案 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
(因为x
是double
),因此永远不会添加值Valeur
。