oi pessoal! gostaria que vcs pudessem ajudar-me encontrando o erro em meu código. É o seguinte eu quero saber porque não consigo que a variavel “somafi” funcione corretamente somando os valores fornecidos pelo usuário, pois ela sempre exibe 0 quando é executado o programa, ah e se alguem puder me explicar como melhorar esse código eu agradeço!
import javax.swing.JOptionPane;
/*Método pontos por função - Function Point
*
*FP = contagem total * [0,65 + 0,01 * SOMA(fi)]
*Onde fi(i=1 a 14) são valores de ajuste de complexidade baseada
*nas respostas das seguintes perguntas:
*
* 01 - O Sistema requer backup e recuperação confiáveis?
* 02 - São exigidas comunicações de dados?
* 03 - Há funções de processamento distribuídas?
* 04 - O desempenho é crítico?
* 05 - O Sistema funcionará em um ambiente operacional existente,
* intensamente utilizado?
* 06 - O Sistema requerentrada de dados on-line?
* 07 - A entrada de dados on-line exige que a operação seja elaborada em
* múltiplas telas e/ou operações?
* 08 - Os arquivos-mestres são atualizados on-line?
* 09 - Entradas, saídas, arquivos e consultas são complexos?
* 10 - O processo interno é complexo?
* 11 - Há possibilidade de reutilização de código?
* 12 - A conversão e instalação estão incluídas no projeto?
* 13 - O Sistema é projetado para múltiplas instalações em diferentes
* organizações?
* 14 - A aplicação é projetada de forma a facilitar mudanças e o uso pelo
* usuário?
*
*RESPOSTAS: 0(sem influência), 1(Incidental), 2(Moderado), 3(Médio),
* 4(significativo), 5(essencial)*/
public class FunctionPoint {
static int somafi = 0;
public static void escolha (int resp){
switch (resp){
case 0:
break;
case 1:
somafunc(resp);
break;
case 2:
somafunc(resp);
break;
case 3:
somafunc(resp);
break;
case 4:
somafunc(resp);
break;
case 5:
somafunc(resp);
break;
default:
JOptionPane.showMessageDialog(null,"Opção Inválida",
"Pontos por função - Function Point",JOptionPane.ERROR_MESSAGE);
break;
}
}
public static int somafunc(int lvl){
somafi = somafi + lvl;
return somafi;
}
public static void main(String[] args) {
int resposta = Integer.parseInt(JOptionPane.showInputDialog(null,
"01 - O Sistema requer backup e recuperação confiáveis?\n\nRESPOSTAS:"+
" 0(sem influência), 1(Incidental), 2(Moderado), 3(Médio),\n4(significativo), 5(essencial)",
"Pontos por função - Function Point",JOptionPane.QUESTION_MESSAGE));
resposta = Integer.parseInt(JOptionPane.showInputDialog(null,
"02 - São exigidas comunicações de dados?\n\nRESPOSTAS:" +
" 0(sem influência), 1(Incidental), 2(Moderado), 3(Médio),\n4(significativo), 5(essencial)",
"Pontos por função - Function Point",JOptionPane.QUESTION_MESSAGE));
resposta = Integer.parseInt(JOptionPane.showInputDialog(null,
"03 - Há funções de processamento distribuídas?",
"Pontos por função - Function Point",JOptionPane.QUESTION_MESSAGE));
resposta = Integer.parseInt(JOptionPane.showInputDialog(null,
"04 - O desempenho é crítico?",
"Pontos por função - Function Point",JOptionPane.QUESTION_MESSAGE));
resposta = Integer.parseInt(JOptionPane.showInputDialog(null,
"05 - O Sistema funcionará em um ambiente operacional existente intensamente utilizado?",
"Pontos por função - Function Point",JOptionPane.QUESTION_MESSAGE));
resposta = Integer.parseInt(JOptionPane.showInputDialog(null,
"06 - O Sistema requerentrada de dados on-line?",
"Pontos por função - Function Point",JOptionPane.QUESTION_MESSAGE));
resposta = Integer.parseInt(JOptionPane.showInputDialog(null,
"07 - A entrada de dados on-line exige que a operação seja elaborada em múltiplas telas e/ou operações?",
"Pontos por função - Function Point",JOptionPane.QUESTION_MESSAGE));
resposta = Integer.parseInt(JOptionPane.showInputDialog(null,
"08 - Os arquivos-mestres são atualizados on-line?",
"Pontos por função - Function Point",JOptionPane.QUESTION_MESSAGE));
resposta = Integer.parseInt(JOptionPane.showInputDialog(null,
"09 - Entradas, saídas, arquivos e consultas são complexos?",
"Pontos por função - Function Point",JOptionPane.QUESTION_MESSAGE));
resposta = Integer.parseInt(JOptionPane.showInputDialog(null,
"10 - O processo interno é complexo?",
"Pontos por função - Function Point",JOptionPane.QUESTION_MESSAGE));
resposta = Integer.parseInt(JOptionPane.showInputDialog(null,
"11 - Há possibilidade de reutilização de código?",
"Pontos por função - Function Point",JOptionPane.QUESTION_MESSAGE));
resposta = Integer.parseInt(JOptionPane.showInputDialog(null,
"12 - A conversão e instalação estão incluídas no projeto?",
"Pontos por função - Function Point",JOptionPane.QUESTION_MESSAGE));
resposta = Integer.parseInt(JOptionPane.showInputDialog(null,
"13 - O Sistema é projetado para múltiplas instalações em diferentes organizações?",
"Pontos por função - Function Point",JOptionPane.QUESTION_MESSAGE));
resposta = Integer.parseInt(JOptionPane.showInputDialog(null,
"14 - A aplicação é projetada de forma a facilitar mudanças e o uso pelo usuário?",
"Pontos por função - Function Point",JOptionPane.QUESTION_MESSAGE));
JOptionPane.showMessageDialog(null,"Resultado: " + somafi,
"Pontos por função - Function Point",JOptionPane.INFORMATION_MESSAGE);
}
}