Pergunta

1 resposta
C

pessoal boa noite alguem poderia me ajudar com este codigo pois ele não calcula a media feminina o que devo fazer ah e como uso o try cath neste caso
desde ja agradeço a atenção de vcs !!!

package OrientadoObjeto;
import javax.swing.JOptionPane;

public class GrupoPessoas { // 1º Passo: Cria variaveis de instancia;

private int n;
private char sexo;
private int id;
private int maiorId;
private int contPessMaiorId;
private int somaIdFem;
private int contFem;
private double mdIdFem;


public GrupoPessoas(int n) {
	super();
	this.n = n;
	sexo = ' ';
	id = 0;
	maiorId = -1;
	contPessMaiorId = 0;
	somaIdFem = 0;
	contFem = 0;
	mdIdFem = 0.0;

}




public void lerSomar(){

	String aux = "  ";
	for( int i = 0; i < n; i++ ){

		aux = JOptionPane.showInputDialog(null, " Digite <M>asc ou <F>emin: " );
		sexo = aux.charAt(0);

		while( sexo != 'M' && sexo != 'F' ){

			JOptionPane.showMessageDialog(null, " Erro: Digite apenas <M> ou <F>: "); //, " ADVERTENCIA ", WARNING_MESSAGE);
		
			id = Integer.parseInt(JOptionPane.showInputDialog(null, " Digite a idade: "));
			sexo = aux.charAt(0);
			
			aux = JOptionPane.showInputDialog(null, " Digite <M>asc ou <F>emin: ");
			
			maiorIdadePess();
			pessoasMaiorId();

		}
	calcularMdFem();
	}

}
	



public void maiorIdadePess(){

	if(id > maiorId)
		maiorId = id;
	contPessMaiorId++;

}

public void calcularMdFem(){

	if(sexo == 'F' || sexo == 'f'){

		somaIdFem += id;
		contFem++;

	}
	
	mdIdFem = somaIdFem /(double)contFem;

}

public void pessoasMaiorId(){

	if(id > maiorId)
		contPessMaiorId++;

}

public void imprimirRes(){

	String saida = " Maior idade: " + maiorId + " \n " + " Media da idade feminina " + (double)(somaIdFem)/(double)(contFem) + 
			" \n " + " Quantidade de pessoas com maior idade: " + contPessMaiorId + " \n ";
	JOptionPane.showMessageDialog(null, saida);

}

}

1 Resposta

Anime

Oi,

Não entendi sua duvida, mas vou deixar um exemplo, espero que ajude... :roll:

/*faça um programa que solicite o nome, o peso, o sexo e a altura de uma pessoa e
 *em seguida calcule o peso ideal e mostre a mensagem conforme o resultado;
 *
 *"nome_da_pessoa seu peso ideal é ......."
 *"portanto vc precisa ganhar/perder......kilos" 
 *caso o usuario esteja no peso ideal parabeniza-lo atraves de uma mensagem
 *
 *homens-(72.7*h)-58 mulher-(62.1*h)-44.7    onde h é a altura */
 
 import java.io.*;
class P32
{
	public static void main(String args[])
	{
		int tam;
		String s,nome;
		DataInputStream d;
		char sexo;
		double peso,altura,peso_ideal,dif;
		try
		{
			System.out.println("Digite seu nome: ");
			d=new DataInputStream(System.in);
			nome=d.readLine();
			System.out.println("Digite o sexo: ");
			d=new DataInputStream(System.in);
			s=d.readLine();
			s=s.toLowerCase();
			sexo=s.charAt(0);
			System.out.println("Digite o seu peso: ");
			d=new DataInputStream(System.in);
			s=d.readLine();
			peso=Double.parseDouble(s);
			System.out.println("Digite a sua altura: ");
			d=new DataInputStream(System.in);
			s=d.readLine();
			altura=Double.parseDouble(s);
			if ((sexo=='m')||(sexo=='f'))
			{
				System.out.println("Nome: "+nome);
				System.out.println("Sexo: "+sexo);
				System.out.println("Altura: "+altura);
				System.out.println("Peso atual: "+peso);
				System.out.print("Peso ideal ");
				if (sexo=='m')
				{
					peso_ideal=(72.7*altura)-58;
			    }
			    else
			    {
			    	peso_ideal=(62.1*altura)-44.7;
			    }
		        peso_ideal=Math.ceil(peso_ideal*100+0.5)/100;
		        System.out.print(peso_ideal+" e voce precisa ");
		        if(peso_ideal>peso)
		        {
		        	dif=peso_ideal-peso;
		        	System.out.print(" engordar "+dif+" Kg ");
		        }
		        else
		        {
		        	dif=peso-peso_ideal;
		        	System.out.print(" emagrecer "+dif+" Kg ");
		        }
		      }  
		      else
		         {
		         	System.out.println("Sexo inválido");
		         }
		  }       
		      catch(IOException e)
     	      { 
     	          System.out.println("erro na entrada de dados ");
     	      }
     	      catch(NumberFormatException e)
     	      {
     		      System.out.println("numero invalido");
              } 
      
   } 
}
Criado 29 de março de 2011
Ultima resposta 30 de mar. de 2011
Respostas 1
Participantes 2