Ola pessoal, estou começando a programar em java esse Mês e deparei com uma dúvida. Um programa exemplo que estava estudando tinha o seguinte código:
//Classe de numeros complexos
class Complexo{
int x,y; //parte real e complexo
public int Re(){ //retorna parte real
return x;
}
public int Im(){ //retorna parte imaginaria
return y;
}
public Complexo Vezes(Complexo c){
Complexo resultado;
resultado.x = x*c.x - y*c.y;
resultado.y = x*c.y + y*c.x;
return resultado;
}
public void print(){
System.out.println("(" + x + " + " + y + "i)");
}
}
public class ComplexNum{
public static void main(String args[]){
Complexo z,w;
z.x = 1;
z.y = 2;
System.out.print( "O valor de z eh ");
z.print();
System.out.println(" A parte real de z eh "+z.Re() );
System.out.println(" A parte imaginaria de z eh "+z.Im() );
System.out.print(" z ao Quadrado eh ");
w = z.Vezes(z);
w.print();
}
}
Ao compilar o programa, aparece uma mensagem que as variaveis resultado e z não foram inicializadas.
Ao instanciar um objeto, eu tenho que obrigatoriamente inicializar com algum valor?
Tentei com null, o compilador aceitou, mas ao rodar o .class aparece a mensagem:
“Exception in thread “main” java.lang.NullPointerException
at ComplexNum.main(ComplexNum.java:30)”
a versão do javac que estou usando é 1.6.0_11
Alguem pode me explicar o que está errado.
Gracias
Cau

