Comparar String no método da class

Java

12/09/2015

Quando uso == no lugar do equals funciona porém sempre me retornar true. Alguém tem alguma luz?


public class Produto {
private String nome;
private double valor;
private String nome1;
private double valor1;

public String getNome() {
return nome;
}

public Double getValor() {
return valor;
}

public String getNome1() {
return nome1;
}

public Double getValor1() {
return valor1;
}

public void setNome(String nome) {
this.nome = nome;
}

public void setValor(Double valor) {
this.valor = valor;
}

public void setNome1(String nome1) {
this.nome1 = nome1;
}

public void setValor1(Double valor1) {
this.valor1 = valor1;
}

public String compare() { //<<<<<<Aqui está o problema
if (nome.equals(nome1)) {
return "Iguais";
} else {
return "Diferentes";
}
}
}



public static void main(String[] args) {
Scanner in = new Scanner(System.in);
Produto a = new Produto();
Produto j = new Produto();
System.out.println("Informe o nome do produto");
String s = in.next();
a.setNome(s);
System.out.println("Informe o valor do produto");
Double x = in.nextDouble();
a.setValor(x);
System.out.println("O preço do " + a.getNome() + " é/são " + a.getValor());

Produto b = new Produto();
System.out.println("Informe o nome do produto");
String g = in.next();
b.setNome1(g);
System.out.println("Informe o valor do produto");
Double h = in.nextDouble();
b.setValor1(h);
System.out.println("O preço do " + b.getNome1() + " é/são " + b.getValor1());
System.out.println(j.compare()); // <<<<< Não imprime se é verdadeiro ou falso


}

Da esse erro: Exception in thread "main" java.lang.NullPointerException
at slide5.Produto.compare(Produto.java:42)
at slide5.programa.main(programa.java:27)
Ewerton Filipe

Ewerton Filipe

Curtidas 0
POSTAR