Considere a seguinte tabela NOTAS e seu conteúdo.Statement s...
Considere a seguinte tabela NOTAS e seu conteúdo.

Statement stmt = null;
String query = "select n.codMatricula, n.nota" +
"from NOTAS n";
try{
stmt = con.create Statement();
ResuItSet rs = stmt.executeQuery(query);
float nota = (float)0.0;
while (rs.next()) {
nota += rs.getFloat("nota");
}
System.out.println(nota);
} catch (SQLExceptione) {
e.printStackTrace();
} finally {
if (stmt != null) {stmt.close();}
}
Utilizando JDBC, o que o trecho de código Java imprime no console?
Comentários
Veja os comentários dos nossos alunos
Questão Grande para pouca coisa haha.
Interessante que ele faz uma consulta a um banco de dados onde abre a conexão e recupera as informações do mesmo e logo após faz um loop para somar as informações somente de nota para o tipo float
while (rs.next()) {
nota += rs.getFloat("nota");
}
E no final em finally ele finaliza a conexão com o banco de dados
rs.next() ele pega cada linha até a última.
só comentar não vale. A intenção também é por a resposta.
Resposta: A
Alguem poderia explicar melhor, pf
no final só soma todas as notas.
Enunciado (resumo)
Código JDBC faz um SELECT na tabela NOTAS e percorre o ResultSet somando os valores da coluna nota, imprimindo o resultado.
Análise do tema
A questão cobra leitura de ResultSet e entendimento de laço while. A pegadinha é achar que calcula média ou pega um valor específico, mas o código apenas soma todos os valores.
Explicação
A query não possui WHERE, então retorna todas as linhas da tabela.
O trecho:
while (rs.next()) {
nota += rs.getFloat("nota");
}
faz o seguinte:
- percorre todas as linhas
- pega o valor da coluna nota em cada linha
- soma na variável nota
No final:
System.out.println(nota);
imprime a soma total das notas.
Resultado
Soma das notas da tabela = 31,0
Alternativa correta
A
Dica de prova
Se aparecer:
while + rs.next() + variável += coluna
→ significa soma de todos os valores da coluna
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo