Erro na compilação pq?

6 respostas
leandro-maanaim

pessoal ola isso so da acesso NEGADO. pq?

import javax.swing.JOptionPane;
public class Gerente extends Funcionario
{
	 String senha = "123";
	
	 public double getBonifica()
	 {
		 return this.salario * 0.15 + this.salario;
	 }

	
	
	Gerente(double salario) 
	 {
		super(salario);
		
	}
	
	
	public boolean autentica()
	{
		 
		String senhax = JOptionPane.showInputDialog(null,"ENTRA COM SUA SENHA: ");
		
		
		
		
		
		if(this.senha == senhax)
		{
			JOptionPane.showMessageDialog(null,"ACESSO PERMITIDO!","INFORMAÇÕES DO SISTEMA!",JOptionPane.INFORMATION_MESSAGE);
			System.exit(0);
			setAddNome("");
			setAddRg("");
			setAddCpf("");
			setAddIdade(1);
			setDataDeEntrada("");
			setAddDepartamento("");
			getBonifica();
			mostra();
			return true;
		}
		else
		{
			JOptionPane.showMessageDialog(null, "ACESSO NEGADO!","INFORMAÇÕES DO SISTEMA!",JOptionPane.ERROR_MESSAGE);
			return false;
		}
	}
}

mesmo se eu digitar 123 da acesso negado, ja tentei um milhao de veses e nao consigo ter acesso, so se eu declarar ja o valor da variavel antes do escopo do if()... Me ajuda alguem pls.

6 Respostas

pmlm

Pra começar isso não é erro nenhum na compilação.

O erro está nesta linha:

if(this.senha == senhax)

A comparação de Strings deve ser feita usando o equals:

if(this.senha.equals(senhax))
leandro-maanaim

pm… eu disconfiava que o erro tava ai mesmo, mais me explica uma coisa pq eu nao uso uma comparação == ja que estou usando um if()?

pmlm

O == utiliza-se com tipos nativos: int, float, double,…

Para comparar objectos utiliza-se o equals porque queremos comparar o conteúdo do objecto, neste caso o conteúdo da String.
Ao comparar com == é comparado o objecto e não o seu conteúdo. Ou seja, há dois objectos String com o mesmo conteúdo mas que para todos os efeitos são objectos diferentes.

leandro-maanaim

entao sempre quando eu quizer comparar uma String com a outra eu sempre devo uzar o equals?

ViniGodoy

Sim.

leandro-maanaim

Entendido,vlw pessoal pela ajuda de vcs. Abraços

Criado 23 de julho de 2009
Ultima resposta 23 de jul. de 2009
Respostas 6
Participantes 3