Duvida com programa

Java

02/10/2014

olá galera sou iniciante em java e estou com um probleminha para finalizar um simples programinha.. ele esta rodando normal ate fazer a ultima operação ..vou postar aqui p ver se alguem pode me ajudar..


Faça um programa que receba, de 10 pessoas:
idade, sexo, peso e altura

Calcule e mostre:
A média das idades das 10 pessoas
A quantidade de pessoas com peso superior a 90kg
A quantidade de pessoas com altura inferior a 1.50m
A porcentagem de pessoas com idade entre 10 e 30 anos entre as pessoas que medem mais de 1.90m
A idade média das mulheres
A idade média dos homens




mport java.util.Scanner;


public class Pesquisa {


public static void main(String[] args) {
Scanner ler= new Scanner (System.in);

int somaIdade = 0,qntIdadeMasculino = 0,qntIdadeFeminino = 0, somaPeso = 0,somaAltura = 0,idade,somaMasc = 0, somaFem = 0;
double altura,peso,porcIdadeAltura = 0;
String sexo;

for (int i = 1; i <= 10; i++){
System.out.println("digite a idade da "+i+"ª pessoa: ");
idade = ler.nextInt();
somaIdade += idade;

System.out.println("digite M para Masculino ou F para feminino: ");
sexo = ler.next();

System.out.println("digite a altura da "+i+"ª pessoa: ");
altura = ler.nextDouble();

System.out.println("digite o peso da "+i+"ª pessoa: ");
peso = ler.nextDouble();

if (peso > 90){
somaPeso ++;
}

if (altura < 1.50){
somaAltura ++;
}
if (altura > 1.90){
if ((idade >= 10) && (idade <= 30)){
porcIdadeAltura ++;
}
if (sexo.equals("M")){
qntIdadeMasculino += idade;
somaMasc ++;
}
else {
if (sexo.equals("F")){
qntIdadeFeminino += idade;
somaFem ++;

}

}

}

System.out.println("A média da idade das pessoas é :"+ somaIdade/ 10);
System.out.println("A quantidade de pessoas com mais de 90 kl: "+ somaPeso );
System.out.println("A quantidade de pessoas com menos de 1.50 de altura : "+somaAltura );
System.out.println("A porcentagem de pessoas com idade entre 10 e 30 anos entre as pessoas que medem mais de 1.90m é: "+(porcIdadeAltura*100)/10 + "%");
System.out.println("A idade média das mulheres é: " +qntIdadeFeminino / somaFem);
System.out.println("A idade média dos homens é: " +qntIdadeMasculino / somaMasc);


}
}
}
Acacio Reis

Acacio Reis

Curtidas 0

Melhor post

Eduardo Pessoa

Eduardo Pessoa

02/10/2014

ele só ta pegando as idades?



A média da idade das pessoas é :2
A quantidade de pessoas com mais de 90 kl: 0
A quantidade de pessoas com menos de 1.50 de altura : 0
A porcentagem de pessoas com idade entre 10 e 30 anos entre as pessoas que medem mais de 1.90m é: 10.0%


GOSTEI 1

Mais Respostas

Acacio Reis

Acacio Reis

02/10/2014

chegue até aqui

import java.util.Scanner;
public class Pesquisa {


public static void main(String[] args) {
Scanner ler= new Scanner (System.in);

int somaIdade = 0,qntIdadeMasculino = 0,qntIdadeFeminino = 0, somaPeso = 0,somaAltura = 0,idade,somaMasc = 0, somaFem = 0;
double altura,peso,porcIdadeAltura = 0;
String sexo;
for (int i = 1; i <= 10; i++){
System.out.println("digite a idade da "+i+"ª pessoa: ");
idade = ler.nextInt();
somaIdade += idade;

System.out.println("digite M para Masculino ou F para feminino: ");
sexo = ler.next();

System.out.println("digite a altura da "+i+"ª pessoa: ");
altura = ler.nextDouble();

System.out.println("digite o peso da "+i+"ª pessoa: ");
peso = ler.nextDouble();

if (peso > 90){
somaPeso ++;
}

if (altura < 1.50){
somaAltura ++;
}
if (altura > 1.90){
if ((idade >= 10) && (idade <= 30)){
porcIdadeAltura ++;
}
if (sexo.equals("M")){
qntIdadeMasculino += idade;
} else
if (sexo.equals("F")){
qntIdadeFeminino += idade;
somaFem ++;


}

}


}
System.out.println("A média da idade das pessoas é :"+ somaIdade/ 10);
System.out.println("A quantidade de pessoas com mais de 90 kl: "+ somaPeso );
System.out.println("A quantidade de pessoas com menos de 1.50 de altura : "+somaAltura );
System.out.println("A porcentagem de pessoas com idade entre 10 e 30 anos entre as pessoas que medem mais de 1.90m é: "+(porcIdadeAltura*100)/10 + "%");
System.out.println("A média de idade dos Homens é; " +qntIdadeMasculino / somaMasc );
System.out.println("A média de idade das Mulheres é; " +qntIdadeFeminino / somaFem );
}



}







ta dando esse erro

Exception in thread "main" java.lang.ArithmeticException: / by zero
at Pesquisa.main(Pesquisa.java:54)
GOSTEI 0
Acacio Reis

Acacio Reis

02/10/2014

entendi..
e ta dividindo so por zero

o que tenho que fazer p ele pegar a qntidade dos sexos?
GOSTEI 0
Acacio Reis

Acacio Reis

02/10/2014

consegui a mediaa dos homens

import java.util.Scanner;
public class Pesquisa {


public static void main(String[] args) {
Scanner ler= new Scanner (System.in);

int somaIdade = 0,qntIdadeMasculino = 0,qntIdadeFeminino = 0, somaPeso = 0,somaAltura = 0,idade,somaMasc = 0, somaFem = 0;
double altura,peso,porcIdadeAltura = 0;
String sexo;
for (int i = 1; i <= 10; i++){
System.out.println("digite a idade da "+i+"ª pessoa: ");
idade = ler.nextInt();
somaIdade += idade;

System.out.println("digite M para Masculino ou F para feminino: ");
sexo = ler.next();

System.out.println("digite a altura da "+i+"ª pessoa: ");
altura = ler.nextDouble();

System.out.println("digite o peso da "+i+"ª pessoa: ");
peso = ler.nextDouble();

if (peso > 90){
somaPeso ++;
}

if (altura < 1.50){
somaAltura ++;
}
if (altura > 1.90){
if ((idade >= 10) && (idade <= 30)){
porcIdadeAltura ++;
}
if (sexo.equals("M")){
somaMasc ++;
qntIdadeMasculino += idade;

} else
if (sexo.equals("F")){
somaFem ++;
qntIdadeFeminino += idade;


}

}


}
System.out.println("A média da idade das pessoas é :"+ somaIdade/ 10);
System.out.println("A quantidade de pessoas com mais de 90 kl: "+ somaPeso );
System.out.println("A quantidade de pessoas com menos de 1.50 de altura : "+somaAltura );
System.out.println("A porcentagem de pessoas com idade entre 10 e 30 anos entre as pessoas que medem mais de 1.90m é: "+(porcIdadeAltura*100)/10 + "%");
System.out.println("A média de idade dos Homens é; " +qntIdadeMasculino / somaMasc );
System.out.println("A média de idade das Mulheres é; " +qntIdadeFeminino / somaFem );
}



}
GOSTEI 0
Acacio Reis

Acacio Reis

02/10/2014

RESOLVIDO !!
GOSTEI 0
Eduardo Pessoa

Eduardo Pessoa

02/10/2014

Que bom, estava tentando entender mais o codigo. posta o codigo aew.
GOSTEI 0
Acacio Reis

Acacio Reis

02/10/2014

import java.util.Scanner;
public class Pesquisa {


public static void main(String[] args) {
Scanner ler= new Scanner (System.in);

int somaIdade = 0,qntIdadeMasculino = 0,qntIdadeFeminino = 0, somaPeso = 0,somaAltura = 0,idade,somaMasc = 0, somaFem = 0;
double altura,peso,porcIdadeAltura = 0;
String sexo;
for (int i = 1; i <= 10; i++){
System.out.println("digite a idade da "+i+"ª pessoa: ");
idade = ler.nextInt();
somaIdade += idade;

System.out.println("digite M para Masculino ou F para feminino: ");
sexo = ler.next();

System.out.println("digite a altura da "+i+"ª pessoa: ");
altura = ler.nextDouble();

System.out.println("digite o peso da "+i+"ª pessoa: ");
peso = ler.nextDouble();

if (peso > 90){
somaPeso ++;
}

if (altura < 1.50){
somaAltura ++;
}
if (altura > 1.90){
if ((idade >= 10) && (idade <= 30)){
porcIdadeAltura ++;
}
if (sexo.equals("M")){
somaMasc ++;
qntIdadeMasculino += idade;
}
else
if (sexo.equals("F")){
somaFem ++;
qntIdadeFeminino += idade;
}
}
}



System.out.println("A média da idade das pessoas é :"+ somaIdade/ 10);
System.out.println("A quantidade de pessoas com mais de 90 kl: "+ somaPeso );
System.out.println("A quantidade de pessoas com menos de 1.50 de altura : "+somaAltura );
System.out.println("A porcentagem de pessoas com idade entre 10 e 30 anos entre as pessoas que medem mais de 1.90m é: "+(porcIdadeAltura*100)/10 + "%");
System.out.println("A média de idade dos Homens é; " +qntIdadeMasculino / somaMasc );
System.out.println("A média de idade das Mulheres é; " +qntIdadeFeminino / somaFem );
}

}
GOSTEI 0
Acacio Reis

Acacio Reis

02/10/2014

preciso dar uma melhorada...

quando alguem não digita nenhum "M" ou nenhum "F" dar um erro pq multiplica por 0...
e tbm queria colocar para a pessoa poder digitar M maiusculo ou minusculo e se digitar algo diferente aparecer uma msg "resposta não valida""
GOSTEI 0
Edson Venancio

Edson Venancio

02/10/2014

e ai acacio estou com o mesmo problema o resto da divisao da mediadaIdade desse meu codigo so esta dando zero !

package Treino;

import javax.swing.JOptionPane;

public class ExemploVideo {

public static void main(String[] args) {

int contadorHomens = 0;
int contadorMulheres = 0;
int somaIdadeHomens = 0;
int somaIdadeMulheres = 0;

for (int i = 0; i < 8; i++){
String sexo = JOptionPane.showInputDialog("Pra o sexo Masculino Digite: M , Feminino Digite: F");
int idade = Integer.parseInt(JOptionPane.showInputDialog("Informe a sua Idade"));

if (sexo.equals ("M")){ //equals compara se e igual.
contadorHomens ++;
somaIdadeHomens += idade;
} else {
contadorMulheres++;
somaIdadeMulheres += idade;
}
} //fim do for

double mediaIdadeHomens = contadorHomens / somaIdadeHomens;
double mediaIdadeMulheres = contadorMulheres / somaIdadeMulheres;

System.out.println("Quantidade de Mulheres: " + contadorHomens);
System.out.println("Quantidade de Homens: " + contadorMulheres);
System.out.println("Media Idade Homens: " + mediaIdadeHomens);
System.out.println("Media Idade Homens: " + mediaIdadeMulheres);

}//fim da metodo

}// fim da classe.
GOSTEI 0
Edson Venancio

Edson Venancio

02/10/2014

Eduardo Tambem Estou com problema no seguinte Codigo:


Sou colega de Faculdade do Acacio "
Estou com o mesmo problema o resto da divisao da mediadaIdade desse meu codigo so esta dando zero !

package Treino;

import javax.swing.JOptionPane;

public class ExemploVideo {

public static void main(String[] args) {

int contadorHomens = 0;
int contadorMulheres = 0;
int somaIdadeHomens = 0;
int somaIdadeMulheres = 0;

for (int i = 0; i < 8; i++){
String sexo = JOptionPane.showInputDialog("Pra o sexo Masculino Digite: M , Feminino Digite: F");
int idade = Integer.parseInt(JOptionPane.showInputDialog("Informe a sua Idade"));

if (sexo.equals ("M")){ //equals compara se e igual.
contadorHomens ++;
somaIdadeHomens += idade;
} else {
contadorMulheres++;
somaIdadeMulheres += idade;
}
} //fim do for

double mediaIdadeHomens = contadorHomens / somaIdadeHomens;
double mediaIdadeMulheres = contadorMulheres / somaIdadeMulheres;

System.out.println("Quantidade de Mulheres: " + contadorHomens);
System.out.println("Quantidade de Homens: " + contadorMulheres);
System.out.println("Media Idade Homens: " + mediaIdadeHomens);
System.out.println("Media Idade Homens: " + mediaIdadeMulheres);

}//fim da metodo

}// fim da classe.
GOSTEI 0
POSTAR