eu preciso fazer um algoritmo assim mais acho q estou errando em algo alguém pode me dizer?? obriigado
/*1) Foi feita uma pesquisa entre os habitantes de uma região. Foram coletados os dados de idade,sexo (M/F) e salário. Faça um programa que calcule e mostre:- a média dos salários do grupo;- a maior e a menor idade do grupo;- a quantidade de mulheres com salário até R$ 200,00;- a idade e o sexo da pessoa que possui o menor salário.Finalize a entrada de dados ao ser digitada uma idade negativa.*/importjava.util.*;publicclassexercicio1{publicstaticvoidmain(Stringargs[]){// Seção de Declaraçõescharsexo;intidade=0,conth,contf500,maior,menor;doublesalario,ssalario=0;Scannerdado=newScanner(System.in);// Seção de Comandosconth=0;contf500=0;maior=0;menor=200;salario=1;while(idade<0){System.out.println("Qual a idade do entrevistado: ");idade=dado.nextInt();System.out.println("Sexo<M/F>: ");sexo=dado.next().charAt(0);System.out.println("Salario: R$");salario=dado.nextDouble();if(salario>0)ssalario=ssalario+salario;conth=conth+1;if(idade>maior)maior=idade;if(idade<menor)menor=idade;if(salario<=500&&sexo=='f')contf500=contf500+1;}System.out.println("Media dos salarios do grupo: R$"+ssalario/conth);System.out.println("Menor idade: "+menor+" anos");System.out.println("Maior idade: "+maior+" anos");System.out.println("A quantidade de mulheres com salário até R$ 500,00 foi de: "+contf500);}}
Do jeito que está nunca irá entrar no loop pois a idade está em 0 e o while vai ser enquanto a idade menor que zero, o certo seria enquanto idade maior ou igual a zero, corrija isso e estará tudo ok.
alan_pjr
Não consegui entender muito bem seu algoritmo, os nomes das variáveis estão bem confusos…
Sugestão: crie métodos separados para retornar cada informação, passando os dados inseridos como parâmetro.
E, também, nunca utilize “==” para comparar strings (como em “sexo==‘f’”), utilize sempre string.equalsIgnoreCase(‘outraString’).
Você pode postar o resultado da execução, ou erros que estejam acontecendo?
D
daniferreira
eu mudei o algoritmo da uma olhada
/*1) Foi feita uma pesquisa entre os habitantes de uma região. Foram coletados os dados de idade,sexo (M/F) e salário. Faça um programa que calcule e mostre:- a média dos salários do grupo;- a maior e a menor idade do grupo;- a quantidade de mulheres com salário até R$ 200,00;- a idade e o sexo da pessoa que possui o menor salário.Finalize a entrada de dados ao ser digitada uma idade negativa.*/importjava.util.*;publicclassexercicio1{publicstaticvoidmain(Stringargs[]){// Seção de Declaraçõescharsexo=0;intidade=0,conth,contf200,maior,menor;doublesalario,ssalario=0;Scannerdado=newScanner(System.in);// Seção de Comandosconth=0;contf200=0;maior=0;menor=200;salario=1;while(salario>0){System.out.println("Qual a idade do entrevistado: ");idade=dado.nextInt();System.out.println("Sexo<M/F>: ");sexo=dado.next().charAt(0);System.out.println("Salario: R$");salario=dado.nextDouble();if(salario>0){ssalario=ssalario+salario;conth=conth+1;}if(idade>maior){maior=idade;}if(idade<menor){menor=idade;}if(salario<=200&&sexo=='f'){contf200=contf200+1;}if(idade<0){System.out.println("fim programa");System.out.println("Media dos salarios do grupo: R$"+ssalario/conth);System.out.println("Menor idade: "+menor+" anos");System.out.println("Maior idade: "+maior+" anos");System.out.println("A quantidade de mulheres com salário até R$ 200,00 foi de: "+contf200);System.out.println("A idade da pessoa e o sexo que possui o menor salário");}}}}
V
victorp_farias
O enunciado da questão pede que o loop encerre quando a idade for negativa do jeito q está ai se ela for zero o loop iria encerrar.
Fora isso acho que não há nenhum problema +.
D
daniferreira
eu sei achar o menor salário mais não sei mostra junto a idade da pessoa q tem o maior salário e o sexo…
D
daniferreira
então só falta a idade da pessoa que possui o menor salário e o sexo…q nao estou conseguindo fazer
williamdasflores
Cara, não seria interessante criar uma classe “Pessoa” que receba esses atributos descritos?
Ai vc armazena as informações das Pessoas em um Array.
V
victorp_farias
Faz assim se ñ entender dá o toque.
intmenorIdade;intmenorSexo;DoublemenorSalario=9999.0;while(idade>=0){System.out.println("Qualaidadedoentrevistado:"); idade = dado.nextInt(); System.out.println("Sexo<M/F>:"); sexo = dado.next().charAt(0); System.out.println("Salario:R$");salario=dado.nextDouble();if(salario<menorSalario){menorSalario=salario;menorSexo=sexo;menorIdade=idade;}
Depois tu printa as variáveis menorSalario, menorSexo e menorIdade.
D
daniferreira
consegui aqui assim da uma olhadaaa ve se ta certo?
/*1) Foi feita uma pesquisa entre os habitantes de uma região. Foram coletados os dados de idade,sexo (M/F) e salário. Faça um programa que calcule e mostre:- a média dos salários do grupo;- a maior e a menor idade do grupo;- a quantidade de mulheres com salário até R$ 200,00;- a idade e o sexo da pessoa que possui o menor salário.Finalize a entrada de dados ao ser digitada uma idade negativa.*/importjava.util.*;publicclassexercicio1{publicstaticvoidmain(Stringargs[]){// Seção de Declaraçõescharsexo=0,menorsalsexo=0;intidade=0,conth,contf200,maior,menor,menorsalidade=0;doublesalario,ssalario=0,menorsalario;Scannerdado=newScanner(System.in);// Seção de Comandosconth=0;contf200=0;maior=0;menor=200;salario=1;menorsalario=9999;while(salario>0){System.out.println("Qual a idade do entrevistado: ");idade=dado.nextInt();System.out.println("Sexo<M/F>: ");sexo=dado.next().charAt(0);System.out.println("Salario: R$");salario=dado.nextDouble();if(salario>0){ssalario=ssalario+salario;conth=conth+1;}if(idade>maior){maior=idade;}if(idade<menor){menor=idade;}if(salario<=200&&sexo=='f'){contf200=contf200+1;}if(salario<menorsalario){menorsalario=salario;menorsalidade=idade;menorsalsexo=sexo;}if(idade<0){System.out.println("fim programa");System.out.println("Media dos salarios do grupo: R$"+ssalario/conth);System.out.println("Menor idade: "+menor+" anos");System.out.println("Maior idade: "+maior+" anos");System.out.println("A quantidade de mulheres com salário até R$ 200,00 foi de: "+contf200);System.out.println("A idade da pessoa e o sexo que possui o menor salário "+menorsalario+" foi da pessoa com idade "+menorsalidade+" do sexo "+menorsalsexo);}}}}