Vai al contenuto

Problema Java Eclipse, String.format


Messaggi raccomandati

Ho fatto un programma sui numeri complessi:

public class Complex {

private double re, im;

public Complex (double re, double im){

this.re=re;

this.im=im;

}//costruttore normale

public Complex (Complex c){

this.re= c.re;

this.im= c.im;

}//costruttore di copia

public double getRe(){return this.re;}

public double getIm(){return this.im;}

public double modulo(){

return Math.sqrt(re*re+im*im);

}//modulo

public Complex coniugato(){

double re=0;

double im=0;

re= this.re;

im= -this.im;

Complex con= new Complex (re, im);

return con;

}//coniugato

public Complex add(Complex z){

double r=0;

double i=0;

r= this.re+z.re;

i= this.im+z.im;

return new Complex(r,i);

}//add

public Complex sub(Complex z){

double r=0;

double i=0;

r= this.re-z.re;

i= this.im-z.im;

return new Complex(r,i);

}//sub

public Complex mul(Complex z){

double r=0;

double i=0;

r= this.re*z.re+((this.im*z.im)*(-1));

i= this.re*z.im+this.im*z.re;

return new Complex (r,i);

}//mul

public Complex div(Complex z){

double r=0;

double i=0;

Complex con= z.coniugato();

Complex num= this.mul(z);

Complex den= z.mul(z);

r=num.re/den.re;

i= num.im/den.im;

return new Complex (r,i);

}//div

public Complex mult (double s){

double r=0;

double i=0;

r= this.re*s;

i= this.im*s;

return new Complex (r,i);

}//mult

public String toString(){

return this.re+", j"+this.im;

}//toString

public boolean equals(Complex z){

if (this.re==z.re && this.im==z.im){

return true;

}

else return false;

}//equals

public static void main (String []args){

Complex z1= new Complex (-3,5);

Complex z2= new Complex (4,-7);

Complex mul= z1.mul(z2);

System.out.println(mul);

Complex quo= z1.div(z2);

System.out.println(quo);

double modulo= z1.modulo();

System.out.printf("%1.2f", modulo);

Complex coni= z1.coniugato();

System.out.println("coniugato di z1"+coni);

boolean f= z1.equals(z2);

System.out.println(f);

}//main

}//Complex

Il mio problema è qui

System.out.printf("%1.2f", modulo);

Eclipse nn riconosce questo metodo, visto che nn lo riconosce sono costretto a far uscire questo output:

modulo=5.830951894845301

invece di questo

modulo=5.83 (che è quello che otterrei col metodo printf).

Qualcuno ha avuto problemi del genere?

Un Tetris in vecchio stile, dedicato alla versione per Mac degli anni 80.

Link al commento
Condividi su altri siti

Archiviato

Questa discussione è archiviata e chiusa a future risposte.

×
×
  • Crea Nuovo...