[Solved] “java” i can’t run the code with that static method but i have to make it static [duplicate]


If you want it static you will have to do it like this:

public static Vecteur somme(Vecteur v1, Vecteur v2) 
{
     Vecteur u = new Vecteur(v1.x + v2.x, v1.y + v2.y, v1.z + v2.z);
     return u;
}

The only way to do it with just one parameter and being able to use your own values is with a non-static method like this:

public Vecteur somme(Vecteur other)
{
    Vecteur u = new Vecteur(this.x + other.x, this.y + other.y, this.z + other.z);
    return u;
}

I recommend you to check this out though.
I added both to your class below:

public static class Vecteur {// 3D

public double x;
public double y;
public double z;

public Vecteur (double x,double y,double z ) 
{

    this.x=x;
    this.y=y;
    this.z=z;
}


public void affichage ()
{  
    System.out.println("("+x+","+y+","+z);
}

public double norme() 
{   
    return Math.sqrt(x*x+y*y+z*z);
}

public static Vecteur somme(Vecteur v1, Vecteur v2) // he told us to make it static nom matter what 
{
     Vecteur u = new Vecteur(v1.x + v2.x, v1.y + v2.y, v1.z + v2.z);
     return u;
}

public Vecteur somme(Vecteur other)
{
    Vecteur u = new Vecteur(this.x + other.x, this.y + other.y, this.z + other.z);
    return u;
}

public double produit(Vecteur v)
{
    return x*v.x+y*v.y+z*v.z; 
}

}

1

solved “java” i can’t run the code with that static method but i have to make it static [duplicate]