Boa noite amigos, estou precisando saber aonde estou errando no meu código, se alguém puder me ajudar ficaria grato.
packageExercicios;importjavax.swing.JOptionPane;publicclassEx1{publicstaticvoidmain(String[]args){Stringaux="",sexo;intidade,idadeMaior=0,cont=0;Stringolhos,cabelos;do{aux=JOptionPane.showInputDialog(null,"Informe sua idade");idade=Integer.parseInt(aux);sexo=JOptionPane.showInputDialog(null,"Informe o sexo utilizando M para Masculino ou F para Feminino");while(sexo!="m"||sexo!="f"){JOptionPane.showMessageDialog(null," Sexo Inválido","ERRO",JOptionPane.ERROR_MESSAGE);sexo=JOptionPane.showInputDialog(null,"Informe o sexo utilizando M para Masculino ou F para Feminino");}olhos=JOptionPane.showInputDialog(null,"Informe a cor dos seus olhos");cabelos=JOptionPane.showInputDialog(null,"Informe a cor dos seus cabelos");if(idadeMaior<idade){//if para achar a maior idade,começando com zero e comparando com as idades de entradaidadeMaior=idade;}if(olhos=="azuis"&&sexo=="m"){cont=cont+1;}}while(idade>0);JOptionPane.showMessageDialog(null,"A MAIOR IDADE É : "+idadeMaior+"\n"+"A QUANTIDADE DE HOMENS COM OLHOS AZUIS É DE : "+cont,"RESULTADO DA PESQUISA",JOptionPane.INFORMATION_MESSAGE);}}
Amigo, especifique o que deseja e o que acontece por favor.
Aparentemente, existe o erro de comparação de Strings onde só comparamos com == no caso de variáveis do tipo char.
Para comparação de String use string1.equals(“string2”); que retorna true or false.
Anime
Oi tallys,
Como o amigo comentou, post a mensagem de erro.
Sua declaração de variáveis está confusa, inicie todas elas, sexo, olhos e cabelos… Para comparar String devemos utilizar o método equals e não ==, pesquise sobre isso…
T
tallys
phorind:
Amigo, especifique o que deseja e o que acontece por favor.
Aparentemente, existe o erro de comparação de Strings onde só comparamos com == no caso de variáveis do tipo char.
Para comparação de String use string1.equals(“string2”); que retorna true or false.
Amigo obrigado pela explicação, pois não lembrava que tinha que usar o equals em comparação de Strings, pois tem + ou - 1 ano que não trabalhava com java, mas a faculdade exigi né fazer o que. Mas a minha dúvida é como posso cria um laço de repetição que compare se as Strings são diferentes, e force o usuário a entrar com o conteúdo que eu quero?
desde já obrigado pela ajuda
P
phorind
tallys:
phorind:
Amigo, especifique o que deseja e o que acontece por favor.
Aparentemente, existe o erro de comparação de Strings onde só comparamos com == no caso de variáveis do tipo char.
Para comparação de String use string1.equals(“string2”); que retorna true or false.
Amigo obrigado pela explicação, pois não lembrava que tinha que usar o equals em comparação de Strings, pois tem + ou - 1 ano que não trabalhava com java, mas a faculdade exigi né fazer o que. Mas a minha dúvida é como posso cria um laço de repetição que compare se as Strings são diferentes, e force o usuário a entrar com o conteúdo que eu quero?
desde já obrigado pela ajuda
Voce pode usar o laço como faz com qualquer outra variável, porem na hora de comparar usa o equals.
do{
}while(!string1.equals(string2));
acredito que seja isso que voce queira, vai fazer o bloco enquanto as strings forem diferentes.
Caso tenha duvida sobre comandos de repetição, procure tópicos relacionados.
Espero ter ajudado.
T
tallys
phorind:
tallys:
phorind:
Amigo, especifique o que deseja e o que acontece por favor.
Aparentemente, existe o erro de comparação de Strings onde só comparamos com == no caso de variáveis do tipo char.
Para comparação de String use string1.equals(“string2”); que retorna true or false.
Amigo obrigado pela explicação, pois não lembrava que tinha que usar o equals em comparação de Strings, pois tem + ou - 1 ano que não trabalhava com java, mas a faculdade exigi né fazer o que. Mas a minha dúvida é como posso cria um laço de repetição que compare se as Strings são diferentes, e force o usuário a entrar com o conteúdo que eu quero?
desde já obrigado pela ajuda
Voce pode usar o laço como faz com qualquer outra variável, porem na hora de comparar usa o equals.
do{
}while(!string1.equals(string2));
acredito que seja isso que voce queira, vai fazer o bloco enquanto as strings forem diferentes.
Caso tenha duvida sobre comandos de repetição, procure tópicos relacionados.
Espero ter ajudado.
ajudou muito obrigado
P
phorind
Coloque o nome do tópico como resolvido e qualquer dúvida, não hesite em perguntar.
T
tallys
Pessoa refiz o código com a colaboração dos amigos acima , mas os erros ainda continuam coloquei as comparações como haviam me dito mas não consigo fazer uma comparação composta , meus laços de repetição e os ifs compostos estão dando erro. Se alguem puder me ajudar
packageexercicio;importjavax.swing.JOptionPane;publicclassExercicio{publicstaticvoidmain(String[]args){Stringaux="",sexo="";intidade=0,idadeMaior=0,soma=0,cont=0,cont0=0,cont1=0,cont2=0,somaIdade=0;Stringolhos="",cabelos="";doublemediaIdade=0,percM=0;do{idade=InOut.leInt("Informe sua idade: ");sexo=InOut.leString("Informe o sexo Masculino ou Feminino:");while((!sexo.equals("masculino"))||(!sexo.equals("feminino"))){//laçoderepetiçãoforçandoaousuárioaentrarcomotipodesexomasculinooufeminino;JOptionPane.showMessageDialog(null," Sexo Inválido","ERRO",JOptionPane.ERROR_MESSAGE);sexo=InOut.leString("Informe o sexo");}olhos=InOut.leString("Informe a cor dos seus olhos : Azul - Verde - Preto ou Castanho:");while((!olhos.equals("azul"))||(!olhos.equals("preto"))||(!olhos.equals("castanho"))||(!olhos.equals("verde"))){//laçoderepetiçãoforçandoaousuárioaentrarcomotipodecordeolhosAzuis,Verdes,PretosouCastanhosJOptionPane.showMessageDialog(null," Cor de olho Inválido","ERRO",JOptionPane.ERROR_MESSAGE);olhos=InOut.leString("Informe a cor dos seus olhos Azul - Verde - Preto ou Castanho:");}cabelos=InOut.leString("Informe a cor dos seus cabelos : Loiro - Castanho ou Preto:");while((!cabelos.equals("loiro"))||(!olhos.equals("preto"))||(!olhos.equals("castanho"))){//laçoderepetiçãoforçandoaousuárioaentrarcomotipodecordecabelosLoiros,PretosouCastanhosJOptionPane.showMessageDialog(null," Cor de cabelo Inválido","ERRO",JOptionPane.ERROR_MESSAGE);cabelos=InOut.leString("Informe a cor dos seus cabelos Loiro - Castanho ou Preto:");}if(sexo.equals("feminino")){//ifparacompararseossexosdeentradasãoiguaisafemininocont0++;//Variavelquearmazenaraaquantidadedemulheres}if(sexo.equals("feminino")&&(idade>=18)||(idade<=35)){//ifparacompararseossexosdeentradasãoiguaisafemininoeseasidadesestãoentremaiorouiguala18emenoriguala35cont++;//Variavelondeseraarmazenadaaquantidadedepessoasqueestãodentrodascaracterísticassolicitadas}if(idadeMaior<idade){//ifparaacharamaioridade,começandocomzeroecomparandoavariavelidadeMaiorcomasidadesdeentradaidadeMaior=idade;//VariavelidadeMaiorarmazenarasempreaidademaior}if((olhos.equals("azuis"))&&(sexo.equals("masculino"))&&(idade!=0)){//ifparacompararseolhosdeentradasãoiguaisaazuiseosexoigualamasculinosoma++;////Variavelondeseraarmazenadaaquantidadedepessoasqueestãodentrodascaracterísticassolicitadas}if(idade<18&&idade>64){//ifparacompararseasidadesdeentradaestãoentremenorque18emaiorque64cont1++;//Variavelondeseraarmazenadaaquantidadedepessoasqueestãodentrodascaracterísticassolicitadas}if((sexo.equals("feminino"))&&(cabelos.equals("loiro"))){//ifparacompararseosexosdeentradasãoiguaiafemininoeocabelodacorloirosomaIdade=somaIdade+idade;//Variavelondeseraarmazenadatodasasidadescont2++;//Variavelondeseraarmazenadaaquantidadedepessoasqueestãodentrodascaracterísticassolicitadas}}while(idade>0);mediaIdade=somaIdade/cont2;//VariavelreceberáamédiadasidadesdasmulherescomcabelosloirospercM=(cont*100)/cont0;JOptionPane.showMessageDialog(null,"A MAIOR IDADE É: "+idadeMaior+"\n"+"O PERCENTUAL DE MULHERES ENTRE 18 E 35 ANOS É:"+percM+"%"+"\n"+"A QUANTIDADE DE HOMENS COM OLHOS AZUIS É: "+soma+"\n"+"A QUANTIDADE DE PESSOAS COM IDADE MENOR QUE 18 E MAIOR QUE 64 É: "+cont1+"\n"+"A MÉDIA DE IDADE DAS MULHERS COM CABELOS LOIROS SÃO: "+mediaIdade,"RESULTADO DA PESQUISA",JOptionPane.INFORMATION_MESSAGE);}}
T
tallys
Alias ja fiz esse mesmo código utilzando Char no lugar de String e fazendo a comparação (variavel == ‘char’), mas também da erro.
Ruttmann
Olá tallys.
Poste aqui pra gente qual ou quais as mensagens de erro que aparecem qdo vc testa o código.