Como eu poderia adaptar um try, catch nesse meu código, eu quero colocar para verificar se o sexo informado é diferente de “m” ou “f”, um na parte para verificar se a escolha eh diferente de 1 ou 0 e um na parte onde executa os cauculos, para nao dar erro de divisao por zero.
[code]import javax.swing.*;
public class PesquisaVIEW{
public static void main(String args[]){
PesquisaDTO pesquisaDTO = new PesquisaDTO();
PesquisaDAO pesquisaDAO = new PesquisaDAO();
int escolha;
for(;;){
escolha = Integer.parseInt(JOptionPane.showInputDialog("Digite 1 para inserir dados do entrevistado ou 0 para fechar a pesquisa e"
+" mostrar o resultado da pesquisa: "));
switch(escolha){
case 1: {
pesquisaDAO.Inserir(pesquisaDTO);
break;
}
case 0:{
pesquisaDAO.Calcular(pesquisaDTO);
pesquisaDAO.Mostraresultado(pesquisaDTO);
System.exit(0);
}
default: JOptionPane.showMessageDialog(null,"Opção Invalida");
}
}
}
}[/code]
[code]import javax.swing.*;
import java.text.DecimalFormat;
public class PesquisaDAO{
public void Inserir(PesquisaDTO pesquisaDTO){
pesquisaDTO.setSal(Double.parseDouble(JOptionPane.showInputDialog("Digite o sálario da pessoa :")));
pesquisaDTO.setTotalsal(pesquisaDTO.getTotalsal()+pesquisaDTO.getSal());
pesquisaDTO.setSexo(JOptionPane.showInputDialog("Digite o sexo da pessoa :"));
if(!(pesquisaDTO.getSexo().equalsIgnoreCase("f") || pesquisaDTO.getSexo().equalsIgnoreCase("m"))){
while(!(pesquisaDTO.getSexo().equalsIgnoreCase("f") || pesquisaDTO.getSexo().equalsIgnoreCase("m"))){
pesquisaDTO.setSexo(JOptionPane.showInputDialog("Sexo invalido. "
+"\nInforme novamente o sexo do pesquisado: "));
}
}
Versexo(pesquisaDTO);
pesquisaDTO.setCont(pesquisaDTO.getCont()+1);
}
public void Versexo(PesquisaDTO pesquisaDTO){
if((pesquisaDTO.getSexo().equalsIgnoreCase("m"))){
pesquisaDTO.setConth(pesquisaDTO.getConth()+1);
}
if((pesquisaDTO.getSexo().equalsIgnoreCase("f"))){
pesquisaDTO.setContm(pesquisaDTO.getContm()+1);
if(pesquisaDTO.getSal()<=300){
pesquisaDTO.setContmn(pesquisaDTO.getContmn()+1);
}
}
}
public void Calcular(PesquisaDTO pesquisaDTO){
if(pesquisaDTO.getCont()>0){ //Essa verificação é para que nao ocorra erros de divisão por zero caso a contadora seja zero
pesquisaDTO.setMediasal(pesquisaDTO.getTotalsal()/pesquisaDTO.getCont());
pesquisaDTO.setPorch((pesquisaDTO.getConth()*100f)/pesquisaDTO.getCont());
pesquisaDTO.setPorcm((pesquisaDTO.getContm()*100f)/pesquisaDTO.getCont());
}
if(pesquisaDTO.getContmn()>0){ //Essa verificação é para que nao ocorra erros de divisão por zero caso a contadora seja zero
pesquisaDTO.setPorcmn((pesquisaDTO.getContmn()*100f)/pesquisaDTO.getContm());
}
}
public void Mostraresultado(PesquisaDTO pesquisaDTO){
DecimalFormat df = new DecimalFormat();
df.applyPattern("0.00");
JOptionPane.showMessageDialog(null,"Numero de pessoas entrevistadas: " + pesquisaDTO.getCont()
+"\nNumero de homens entrevistados: " + pesquisaDTO.getConth()
+"\nNumero de mulheres entrevistados: " + pesquisaDTO.getContm()
+"\nA média salarial de todas as pessoas entrevistadas foi R$" + df.format(pesquisaDTO.getMediasal())
+"\nA porcentagem de homens entrevistados foi: " + df.format(pesquisaDTO.getPorch())+"%"
+"\nA porcentagem de mulheres entrevistadas foi: " + df.format(pesquisaDTO.getPorcm())+"%"
+"\nA porcentagem de mulheres com salario < ou = R$300,00 entrevistadas foi: " + df.format(pesquisaDTO.getPorcmn())+"%" );
}
}[/code]
[code]
public class PesquisaDTO{
private int conth=0,contm=0,contmn=0,cont=0;
private double sal,mediasal,totalsal=0;
private float porch=0,porcm=0,porcmn=0;
private String sexo;
public void setConth(int conth){
this.conth = conth;
}
public void setContm(int contm){
this.contm = contm;
}
public void setContmn(int contmn){
this.contmn = contmn;
}
public void setCont(int cont){
this.cont = cont;
}
public void setSal(double sal){
this.sal = sal;
}
public void setMediasal(double mediasal){
this.mediasal = mediasal;
}
public void setTotalsal(double totalsal){
this.totalsal = totalsal;
}
public void setPorch(float porch){
this.porch = porch;
}
public void setPorcm(float porcm){
this.porcm = porcm;
}
public void setPorcmn(float porcmn){
this.porcmn = porcmn;
}
public void setSexo(String sexo){
this.sexo = sexo;
}
public int getConth(){
return this.conth;
}
public int getContm(){
return this.contm;
}
public int getContmn(){
return this.contmn;
}
public int getCont(){
return this.cont;
}
public double getSal(){
return this.sal;
}
public double getMediasal(){
return this.mediasal;
}
public double getTotalsal(){
return this.totalsal;
}
public float getPorch(){
return this.porch;
}
public float getPorcm(){
return this.porcm;
}
public float getPorcmn(){
return this.porcmn;
}
public String getSexo(){
return this.sexo;
}
}[/code]

