Olá pessoal!
Primeiramente gostaria de dizer que sou um aprendiz de Java.
Estou tentando fazer um programa de estatística bem simples, que constitui em uma tabela com as colunas “Alternativas”, “Entrevistados” e “Frequência Relativa”, além de possuir quatro linhas, pois a tabela será em função das alternativas “A”, “B”, “C” e “D”.
A ideia é a seguinte: na coluna “Entrevistados”, cada linha mostrará o total de pessoas que assinalaram a alternativa correspondente (A, B, C ou D) e na coluna “Frequência Relativa”, cada linha mostrará o número de pessoas que responderam a alternativa dividido pelo total de pessoas que responderam o questionário.
Para obter o resultado que almejo na coluna “Entrevistados”, precisarem utilizar um comando SQL, que é o COUNT. Na coluna “Frequência Relativa”, terei que pegar o resultado do comando SQL da coluna “Entrevistados” e dividir pelo comando SQL COUNT que contará o total de questões na entidade “questionario”, que é onde estão armazenadas as respostas do questionário.
A minha dúvida é: como posso dividir um resultado de comando SQL por outro (operações matemáticas) e como posso preencher a tabela com o resultado desses comandos?
Tentei montar o seguinte código, vendo algumas videoaulas, porém falhei miseravelmente.
public void preencherTabela(String SQL){
ArrayList dados = new ArrayList();
String [] Colunas = new String[]{"Alternativas","Entrevistados","Frequência Relativa"};
conecta.executaSQL(SQL);
try {
conecta.rs.first();
PreparedStatement entQ1 = conecta.conn.prepareStatement("select count(q1) from questionario");
entQ1.executeQuery();
PreparedStatement fra = conecta.conn.prepareStatement("select count(*) from
questionario where q1='A'");
fra.executeQuery();
//String frA = fra/entQ1;
do {
dados.add(new Object[]{"A",entQ1,fra});
} while (conecta.rs.next());
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, "Erro ao preencher o ArrayList!\nERRO: "+ex);
}
ModeloTabela modelo = new ModeloTabela(dados, Colunas);
tblQ1.setModel(modelo);
tblQ1.getColumnModel().getColumn(0).setPreferredWidth(200);
tblQ1.getColumnModel().getColumn(0).setResizable(false);
tblQ1.getColumnModel().getColumn(1).setPreferredWidth(200);
tblQ1.getColumnModel().getColumn(1).setResizable(false);
tblQ1.getColumnModel().getColumn(2).setPreferredWidth(200);
tblQ1.getColumnModel().getColumn(2).setResizable(false);
tblQ1.getTableHeader().setReorderingAllowed(false);
tblQ1.setAutoResizeMode(tblQ1.AUTO_RESIZE_OFF);
tblQ1.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
}