nome=JOptionPane.showInputDialog("QUAL O NOME DO COLABORADOR? ");cargo=JOptionPane.showInputDialog("QUAL O CARGO DO COLABORADOR? ");salario=Double.parseDouble(JOptionPane.showInputDialog("QUAL SEU SÁLARIO? "));if((cargo==Gerente)){NovoSalario=salario*0.1;diferença=NovoSalario-salario;JOptionPane.showMessageDialog(null,"PARABÉNSVOCÊRECEBEUUMAUMENTODESALARIO:\nSEUNOVOSALARIO:" + NovoSalario + "\nSEUANTIGOSALAGIO:" + salario + "/nSEUAUMENTOFOIDE:"+diferença);
MAIS UMA DUVIDA, PORQUE O MEU PROGRAMA NÃO ACEITA “GERENTE”, ESTOU FAZENDO UMA COMPARAÇÃO SE ELE FOR GERENTE RECEBE UM AUMENTO DE SALARIO.
francislon
String é um objeto e vc não compara objetos com ‘==’.
Utilize o método equals da classe String para comparar duas Strings.
dinorah
Valeu!
Este fórum realmente funciona…
Para quem é iniciante em programação, um detalhe trava tudo…
Só vou fazer alguns ajustes mais no meu programa.
Boa semana a todos!
claudneto
String, vetores, objetos…sempre são comparados com equals…
=)
Neto.Sabio
if ( (cargo.equals(“Gerente”) ))
{
► Diga: È complicado fazermos validações com Strings , pois existe uma chance maior de dar problemas, pois voce esta pedindo para um usuario digitar o nome do cargo de um colaborador e o mesmo poderá digitar “GERENTE” utilizando as letrar em caixa alta e assim nao entrando na sua validação.
Tente fazer um diferencil utilizando int como opção . EXEMPLO
intgerente=1;intfuncionario=2;intescolha;
escolha = jOPtion…(“Escolha 1 para gerente e 2 para funcionario”)
Esse é uma melhor maneria de exemplo para o seu caso. Existe algumas outras mas acredito que seu professor irá achar que voce que pensou nisso
espero ter ajudado
pace!!
adriano_si
if ( (cargo.equals("Gerente") ))
{ Ou vc pode fazer assim…
StringcargoTeste=toUpperCase(cargo);
E na hora de comparar, compara o cargoTeste ao invés do cargo…
if ( (cargoTeste.equals("GERENTE") ))
{
Que aí a Sring passada de qualquer jeito pelo usuário sempre será maiúscula… o Problema só se o cara digitar “gerent”, ou seja, esquecer uma letra… aí ferrou tudo… acho a solução do Sabio válida…
Falows
adriano_si
Aff matei o Java… é cargo.toUpperCase()
não precisa de parâmetro… ele já transforma sua String pra maiúsculo…
adriano_si
Ficaria assim
if((cargo.toUpperCase().equals("Gerente")))
FALOWS
adriano_si
Ai ai… o “Gerente” é maiúsculo: “GERENTE”
claudneto
Tenta editar suas mensagens…não ficar criando novas!
¬¬"
Mas funcionaria assim sim!
Acho que seria o mais provável de alguém fazer
zeppo
Outro jeito de comparar Strings sem ter que se preocupar com maiúsculas/minúsculas é:
if (cargo.equalsIgnoreCase("gerente")) {
//código do aumento
}
dinorah
Pessoal, obrigada pela ajuda.
Estou com outra duvida.
Estou com este exercicio abaixo funcionando ok.
Mas gostaria de acrescentar, se a pessoa digite-se errado a letra no caso nem F ou M.
Estava pensando em alguma coisa assim para acrescentar no programa abaixo.
Será que alguem pode me ajudar.
Stringsexo;doublepeso=0;doublealtura=0;
sexo=JOptionPane.showInputDialog("QUAL É SEU SEXO? \n Digite: \n F - para FEMININO \n M - para MASCULINO");altura=Double.parseDouble(JOptionPane.showInputDialog("QUAL SUA ALTURA?"));if(sexo.equalsIgnoreCase("F")){peso=(62.1*altura)-44.7;}else{if(sexo.equalsIgnoreCase("M")){peso=(72.7*altura)-58;}JOptionPane.showMessageDialog(null,"SEU PESO IDEAL É: "+peso);}}