Como ´posso resolver isso?

3 respostas
S

Oi pessoal,

Eu tinha postado aqui o seguinte algoritmo:

Uma certa Empresa fez uma pesquisa de mercado para saber se as pessoas gostaram ou não de um novo produto lançado no mercado. Para isso, foi solicitado o sexo do entrevistado (M=masculino e F=feminino) e sua resposta (sim ou não). Sabendo-se que foram entrevistadas 50 pessoas, fazer um algoritmo que calcule e escreva:

a. O número de pessoas que responderam sim;

b. O número de pessoas que responderam não;

import javax.swing.JOptionPane;

public class pesquisaMercado {
public static void main(String args[]){
int x=0,sim=0,nao=0,y=0,masc=0,fem=0,i;
float porcMasc=0,porcFem=0;
for (i=0;i<10;i++){
y=(Integer.parseInt(JOptionPane.showInputDialog("DIGITE A OPÇÃO CONFORME O SEU SEXO \n " + "1 - MASCULINO \n " + “2 - FEMININO”)));
if (y==1){
masc++;
}if (y==2){
fem++;
}
x=(Integer.parseInt(JOptionPane.showInputDialog(“VOCÊ APROVA O PRODUTO?\n " + “1 - SIM \n " + “2 - NÃO”)));
if (x==1){
sim++;
}if (x==2){
nao++;
}
}
porcMasc=((masc100)/10);
porcFem=((fem
100)/10);
JOptionPane.showMessageDialog(null, “RESULTADO DA PESQUISA \n” +
“TOTAL DE HOMENS PESQUISADOS = “+masc+”\n”+ “TOTAL DE MULHERES PESQUISADAS = “+fem+”\n”+”\n”+ “PARCIAL DA PESQUISA \n” + “MASCULINO = “+porcMasc+”% \n” + “FEMININO “+porcFem+”%” );
}
}

Neste caso eu Gostaria de saber o seguinte: quando solito que o usuário digite uma opção tipo: y=(Integer.parseInt(JOptionPane.showInputDialog("DIGITE A OPÇÃO CONFORME O SEU SEXO \n " + "1 - MASCULINO \n " + “2 - FEMININO”)));

como eu poderia fazer para que quando ele digitasse uma opçao que não fosse a 1 e 2 aparecesse uma informação na tela que o informasse “Presta atenção” “Opção Inválida”???

O nosso amigo[size=18] peczenyj [/size] me apresentou este modo que achei muito legal:

import javax.swing.JOptionPane;

public class pesquisaMercado {

public static void main(String args[]){

	double porcMasc,porcFem;
	int sim=0,masc=0,nao,fem,total=10;
	String ask_sex = "DIGITE A OPÇÃO CONFORME O SEU SEXO";
	String ask_prod = "VOCÊ APROVA O PRODUTO?"; 				

	Object[] sex  = { "masc", "female"};

	Object[] prod = { "sim" , "não"};

	for(int i=0;i<total;i++) {
		Object resp_sex = JOptionPane.showInputDialog(null,
		            ask_sex, "Input",
		            JOptionPane.INFORMATION_MESSAGE, null,
            		sex, sex[0]);
		
		if(resp_sex.equals(sex[0])) masc++;
			
		Object resp_prod = JOptionPane.showInputDialog(null,
	            ask_prod, "Input",
	            JOptionPane.INFORMATION_MESSAGE, null,
        		prod, prod[0]);
		
		if(resp_prod.equals(prod[0])) sim++;
	}
	
	fem = total - masc;
	porcMasc = 100.00 * masc/total;
	porcFem  = 100.00 - porcMasc;
	
	JOptionPane.showMessageDialog(null, "RESULTADO DA PESQUISA\n"
			+ "TOTAL DE HOMENS PESQUISADOS = "
			+ masc
			+"\nTOTAL DE MULHERES PESQUISADAS = "
			+ fem 
			+"\n\nPARCIAL DA PESQUISA" 
			+ "\nMASCULINO = "
			+ porcMasc
			+"%\nFEMININO "
			+ porcFem
			+"%" );		
			 
	
	System.exit(0);
}

}

Gostaria de saber dos amigos e até mesmodo peczenyj como faço para implementar mais estas duas funções:

c. A porcentagem de pessoas do sexo feminino que responderam sim;
d. A porcentagem de pessoas do sexo masculino que responderam não.

Brigadão turma to aprendendo bastante com vocês!!

SkFogo

3 Respostas

cassio

Isso é matemática!

porcentagem de mulheres que responderam sim =
(número de mulhres que responderam sim / total de mulheres) * 100

Para a porcentagem de pessoas do sexo masculino que responderam não a idéia é análoga.

É só vc manter um controle das mulheres que responderam sim e dos homens que responderam não, pode ser duas variáveis contadoras do tipo int :smiley:

Abraço!

peczenyj

em primeiro lugar, vc precisa usar as tags [ code] e [/ code] (sem o espaço) para deixar estes códigos visiveis.

em segundo, para vc ter este tipo de informação, vc precisa de um algoritmo para isso.

vc quer saber quantos ‘homens’ existem: esta na variavel ‘masc’
vc quer saber quantos ‘mulheres’ existem: é ‘total - masc’
vc quer saber quantos ‘sim’ existem: esta na variavel ‘sim’
vc quer saber quantos ‘não’ existem: é ‘total - sim’

agora, se vc tem uma variavel que conta quantos homens responderam sim (por exemplo: sim_masc), vc pode tirar muitas informações:

quantos homens responderam sim: ‘sim_masc’
quantos homens responderam não: ‘masc - sim_masc’
quantos mulheres responderam sim: ‘sim - sim_masc’
quantos mulheres responderam não: ‘total - sim - (masc - sim_masc)’

ai vc le isso e diz : “ta louco!!! muito complicado!!!” mas a explicação é matematica:

vc quer saber quantos ‘mulheres’ existem: é o numero total de votantes menos o numero de homens
vc quer saber quantos ‘não’ existem: é o numero total de voos menos o numero de votos sim

quantos homens responderam não: é o numero total de homens menos o numero de homes que responderam sim

quantos mulheres responderam sim: é a quantidade de votos sim menos a quantidade de votos sim por parte dos homens

quantos mulheres responderam não: é a quantidade de votos nao menos a quantidade de votos nao dos homens

eu vou obter ‘quantidade de votos ‘nao’ menos a quantidade de votos ‘nao’ dos homens’ a partir de :

quantidade de votos nao menos ( numero total de homens menos o numero de homes que responderam sim )

=

(o numero total de votos menos o numero de votos sim) menos ( numero total de homens menos o numero de homes que responderam sim )

= total - sim - (masc - sim_masc)

o que muda no seu codigo:

if(resp_prod.equals(prod[0])) { sim++; if(resp_sex.equals(sex[0])) sim_masc++; }

Agora vc precisa de papel e caneta e vá se convencer dos calculos antes de sair programando feito um louco e descobrir que de cada 10 votos não dos humens, 435 são sim de mulheres ou outras loucuras

S

Grato amigo em especial ao peczenyj pela força!

Fiz as mudanças gostaria que vc desse uma olhada pra ve se realemnte fiz certo.

import javax.swing.JOptionPane;
 
 public class pesquisaMercado {
  	
 	public static void main(String args[]){
 
  		double porcMasc,porcFem;
  		int sim=0,masc=0,sim_masc = 0,total=5;
  		String D_sex = "DIGITE A OPÇÃO CONFORME O SEU SEXO";
  		String D_prod = "VOCÊ APROVA O PRODUTO?"; 				
 
 		Object[] sex  = { "Masculino", "Feminino"};
 
 		Object[] prod = { "Sim" , "Não"};
 
 		for(int i=0;i<total;i++) {
 			Object resp_sex = JOptionPane.showInputDialog(null,
 			            D_sex, "Input",
 			            JOptionPane.INFORMATION_MESSAGE, null,
 	            		sex, sex[0]);
 			
 			if(resp_sex.equals(sex[0])) masc++;
 				
 			Object resp_prod = JOptionPane.showInputDialog(null,
 		            D_prod, "Input",JOptionPane.INFORMATION_MESSAGE, null, prod, prod[0]);
 			
 			if(resp_prod.equals(prod[0])) sim++;
 			if(resp_sex.equals(sex[0])) sim_masc++; 
 		}
 		
 		
 		porcMasc = 100.00 * masc/total;
 		porcFem  = 100.00 - porcMasc;
 		
 		JOptionPane.showMessageDialog(null, "RESULTADO DA PESQUISA\n"
 				+ "TOTAL DE PESSOAS QUE RESPONDERAM SIM = "
 				+ ((sim_masc) + (sim - sim_masc))
 				+"\nTOTAL DE PESSOAS QUE RESPONDERAM NÃO = "
 				+ (masc - sim_masc) + (total - sim - (masc - sim_masc))
 				+"\n\nPARCIAL DA PESQUISA" 
 				+ "\nHOMENS QUE RESPONDERAM SIM = "
 				+ porcMasc
 				+"%\nULHERES QUE RESPONDERAM NÃO "
 				+ porcFem
 				+"%" );		
 				 
 		
 		System.exit(0);
  	}
 }

--------------------------------------------------------------------------------

Se tiver coisa errada favor me avisar - valeu mesmo grande amigo!!

SkFogo

Criado 21 de junho de 2006
Ultima resposta 21 de jun. de 2006
Respostas 3
Participantes 3