public static double[] creeVec(double x, double y, double z){
//cree et retourne un tableau
double[] tab = new double[3];
tab[0]=x;
tab[1]=y;
tab[2]=z;
return tab;
}
public static double longueur(double[] tab){
//calcule la longueur
tab = new double[3];
double carre = ((tab[0]*tab[0])+(tab[1]*tab[1])+(tab[2]*tab[2]));
return Math.sqrt(carre);
}
然后,当我调用他们获取 Math.sqrt()
的结果时,我得到 0
double[] v1 = Vec3DTab.creeVec(10, 20, 30);
double[] v2 = Vec3DTab.creeVec(4, 5, 6);
//affiche la longueur de v1
double LongueurV1 = Vec3DTab.longueur(v1);
System.out.println(LongueurV1);
最佳答案
longueur(double[] tab) 方法中的代码 tab = new double[3]; 创建了一个新的 double 数组对象并初始化为默认值 0。
因此它返回 0。
请删除此行,您将获得适当的值。
关于java - 为什么 Math.sqrt 返回 0 而不是 vector 的长度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35076669/