Não Consigo Retornar o Resultado de uma Expressão que eu coloquei em um método, ele sempre retorna 0 porque?
public static void DO() {
int opcao, p_contratadas, p_desligadas, total_func;
double calc, result;
try {
opcao = Integer.parseInt(JOptionPane.showInputDialog("1.Calcular turnover(Admissões e Desligamentos)\n2.Calcular turnover(Desligamentos)\n3.Voltar\n4.Sair"));
switch (opcao) {
case 1:/*caso usuário digite "1" terá acesso ao calculo do turnover(Admissões e Desligamentos)*/
while (true) {//laço para enquanto as condições forem verdadeiras
try {
p_contratadas = Integer.parseInt(JOptionPane.showInputDialog("Informe o total de pessoas contratadas:"));
if (p_contratadas < 0) {//excessão para números negativos localizada na classe "NegativoException".
throw new NegativoException("Somente valores inteiros positivos!");
}
p_desligadas = Integer.parseInt(JOptionPane.showInputDialog("Informe o total de pessoas Desligadas:"));
if (p_contratadas < 0) {//excessão para números negativos localizada na classe "NegativoException".
throw new NegativoException("Somente valores inteiros positivos!");
}
total_func = Integer.parseInt(JOptionPane.showInputDialog("Informe o total de funcionários disponíveis:"));
if (p_contratadas < 0) {//excessão para números negativos localizada na classe "NegativoException".
throw new NegativoException("Somente valores inteiros positivos!");
}
/*Calculo turnover (Admissões e Desligamentos)*/
calc = (p_contratadas + p_desligadas) / 2;
result = calc / (total_func * 100);
JOptionPane.showMessageDialog(null, "Resultado: " + NumberFormat.getNumberInstance().format(result));
DO();
break;
} catch (NumberFormatException e) {//excessão caso o usuario digite uma String ou deixe o campo em branco
JOptionPane.showMessageDialog(null, "Somente valores inteiros positivos!", "Operação inválida!", 0);
} catch (NegativoException e2) {//excessão para números negativos
JOptionPane.showMessageDialog(null, e2.getMessage());//Método da classe "NegativoException" que retorna a excessão para números negativos.
}
}