Algoritmo para

8 respostas
D

ola eu estou errando o cálculo da idade média e do percentual alguém pode ajudar?
e se o for é o mais indicado pra esse algoritmo?
obrigado!!!

/*3) Uma empresa decidiu fazer um levantamento em relação aos 1578 candidatos que se
apresentarem para preenchimento de vagas em seu quadro de funcionários. Supondo que você seja
o programador dessa empresa, faça um programa que leia, para cada candidato, a idade, o sexo (M
ou F) e a experiência no serviço (S ou N).
O programa também deve calcular e mostrar:
- o número de candidatos do sexo feminino;
- o número de candidatos do sexo masculino;
- a idade média dos homens que já têm experiência no serviço;
- a percentagem dos homens com mais de 45 anos entre o total dos homens;
- o número de mulheres com idade inferior a 21 anos e com experiência no serviço;
- a menor idade entre as mulheres que já têm experiência no serviço.*/

import java.util.*;
public class exercicio3 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
     Scanner dado = new Scanner(System.in);
     
     int idade,i,qtdefeminino = 0,qtdemasculino = 0,qtdeexperiencia = 0,qtdeidade = 0,nummulheres = 0,menor = 9999;
     char sexo = 0,experienciaservico = 0,idademedia = 0;
     double perc = 0;
     
     for(i=1;i<=3;i++){
    	 System.out.println("digite as informações do candidato "+(i));
    	 System.out.println("digite a idade");
    	 idade = dado.nextInt();
    	 System.out.println("digite o sexo");
    	 sexo = dado.next().charAt(0);
    	 System.out.println("digite a experiência no serviço");
    	 experienciaservico = dado.next().charAt(0);
     if(sexo == 'f')
    	 qtdefeminino = qtdefeminino + 1;
     if(sexo == 'm')
    	 qtdemasculino = qtdemasculino + 1;
     if(sexo == 'm' && experienciaservico == 's'){
    	 qtdeidade += idade;
    	 qtdeexperiencia += experienciaservico;
    	 idademedia = (char) (qtdeidade/qtdeexperiencia);
     }if(idade > 45 && sexo == 'm')
     {
    	 perc = qtdemasculino/100;
     }if(idade < 21 && sexo == 'f'){
    	 nummulheres = nummulheres + 1;
     }if(idade < menor && experienciaservico == 's'){
    	 menor = idade;
     }
 	 
     } 
     System.out.println("a quantidade de candidatos do sexo feminino é "+qtdefeminino);
     System.out.println("a quantidade de candidatos do sexo masculino é "+qtdemasculino);
     System.out.println("a idade média dos homens que já têm experiência no serviço "+idademedia);
     System.out.println("a percentagem dos homens com mais de 45 anos entre o total dos homens "+perc);
     System.out.println("o número de mulheres com idade inferior a 21 anos e com experiência no serviço "+nummulheres);
     System.out.println("a menor idade entre as mulheres que já têm experiência no serviço "+menor);
	}


}

8 Respostas

D

o 3 só esta no loop pra fazer teste se funciona…

alan_pjr

O primeira questão que salta aos olhos no seu código: atenção à comparação de strings! “==” não é adequado para isso, use “string.equalsIgnoreCase(outraString)”.

http://www.devdaily.com/java/edu/qanda/pjqa00001.shtml

D

eu sei disso valeu pela ajuda mais é um exercicio básico de faculdade e eu queria ajuda no percentual e idade média q nao consegui saber como fazer o cálculo
se pudesse me ajudar nisso sairia de grande ajuda obrigado!

igor_ks

Como o alan disse e vc ignorou, um dos erros é usar ==, troque isso por string.equalsIgnoreCase(outraString)

outra coisa é:

qtdeexperiencia += experienciaservico;

qtdeexperiencia eh int
experienciaservico eh char

vc tah somando o char com int? Tem algo errado ai…

D

eu vou trocar eu sei q tem algo errado ai é por isso q estou pedindo ajuda né

igor_ks

:shock: :shock: :shock: :shock:

alan_pjr

Idade média: some todas as idades dos homens que tem experiência, e divida pela quantidade total de homens.
Percentual: some a quantidade de homens que tem mais de 45, divida pelo total de homens e multiplique o resultado por 100.

D

olha ai do jeito q vc mandou eu fazer como eu fiz

/*3) Uma empresa decidiu fazer um levantamento em relação aos 1578 candidatos que se
apresentarem para preenchimento de vagas em seu quadro de funcionários. Supondo que você seja
o programador dessa empresa, faça um programa que leia, para cada candidato, a idade, o sexo (M
ou F) e a experiência no serviço (S ou N).
O programa também deve calcular e mostrar:
- o número de candidatos do sexo feminino;
- o número de candidatos do sexo masculino;
- a idade média dos homens que já têm experiência no serviço;
- a percentagem dos homens com mais de 45 anos entre o total dos homens;
- o número de mulheres com idade inferior a 21 anos e com experiência no serviço;
- a menor idade entre as mulheres que já têm experiência no serviço.*/

import java.util.*;
public class exercicio3 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
     Scanner dado = new Scanner(System.in);
     
     int idade,i,qtdefeminino = 0,qtdemasculino = 0,qtdeexperiencia = 0,qtdeidade = 0,nummulheres = 0,menor = 9999,qtdehomens = 0;
     char sexo = 0,experienciaservico = 0;
     double perc = 0,idademedia = 0,resultado = 0;
     
     for(i=1;i<=5;i++){
    	 System.out.println("digite as informações do candidato "+(i));
    	 System.out.println("digite a idade");
    	 idade = dado.nextInt();
    	 System.out.println("digite o sexo");
    	 sexo = dado.next().charAt(0);
    	 System.out.println("digite a experiência no serviço");
    	 experienciaservico = dado.next().charAt(0);
     if(sexo == 'f')
    	 qtdefeminino = qtdefeminino + 1;
     if(sexo == 'm')
    	 qtdemasculino = qtdemasculino + 1;
     if(sexo == 'm' && experienciaservico == 's'){
    	qtdeidade = qtdeidade + idade;
    	idademedia = qtdeidade/qtdemasculino;
     }if(idade > 45 && sexo == 'm')
     {
    	qtdehomens = qtdehomens +1;
    	perc = qtdehomens/qtdemasculino;
    	resultado = perc * 100;
     }if(idade < 21 && sexo == 'f'){
    	 nummulheres = nummulheres + 1;
     }if(idade < menor && experienciaservico == 's'){
    	 menor = idade;
     }
 	 
     } 
     System.out.println("a quantidade de candidatos do sexo feminino é "+qtdefeminino);
     System.out.println("a quantidade de candidatos do sexo masculino é "+qtdemasculino);
     System.out.println("a idade média dos homens que já têm experiência no serviço "+idademedia);
     System.out.println("a percentagem dos homens com mais de 45 anos entre o total dos homens "+resultado);
     System.out.println("o número de mulheres com idade inferior a 21 anos e com experiência no serviço "+nummulheres);
     System.out.println("a menor idade entre as mulheres que já têm experiência no serviço "+menor);
	}


}

da uma olhada era assim? depois eu vou muda pra string....

Criado 9 de novembro de 2011
Ultima resposta 9 de nov. de 2011
Respostas 8
Participantes 3