Questão de Programação — Plataforma Java — FCC 2019
Programação›Plataforma Java
Código
fc057240
Banca
FCC
Órgão
TJ-MA
Ano
2019
Cargo
Analista Judiciário - Analista de Sistemas - Desenvolvimento
Em um site desenvolvido com recursos Java EE, um formulário passa o valor digitado no campo salário como parâmetro para uma servlet. Para receber o parâmetro salário e armazenar em uma variável do tipo double, utiliza-se a instrução:
Adouble sal = Double.parseDouble(request.getParameter("salário"));
Bdouble sal = (double) request.getParameter("salário");
CDouble sal = double.parseDouble(request.getParameter("salário"));
Ddouble sal = Convert.toDouble(request.getParameter("salário"));
EDouble sal = request.getSalário("salário").toDouble();
Revelar gabarito e comentário▾
GabaritoA — double sal = Double.parseDouble(request.getParameter("salário"));
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Java EE – Recebendo parâmetros em Servlets
Gabarito: letra A. A forma correta de receber o valor de um parâmetro de formulário em uma servlet e convertê-lo para double é usando Double.parseDouble(request.getParameter("salário")), pois request.getParameter retorna uma String e Double.parseDouble converte essa String em um double primitivo. A alternativa A emprega exatamente essa sintaxe.
1request.getParameter("salário")Retorna String
2Double.parseDouble(String)Converte para double
3Atribui a double salTipo primitivo
LEVEL · soulevel.com.br
Alternativa A — ✅ Correta ⟵ GABARITO
double sal = Double.parseDouble(request.getParameter("salário"));request.getParameter("salário") retorna o valor do campo como String. O método estático Double.parseDouble(String) converte a String para o tipo primitivo double. É a abordagem padrão na API Java.
Alternativa B — ❌ Incorreta
double sal = (double) request.getParameter("salário"); Em Java, não é permitido fazer cast direto de String para double. O cast (double) só funciona entre tipos compatíveis (primitivos numéricos ou classes com relação de herança). String não é um tipo numérico, logo essa instrução gera erro de compilação.
Alternativa C — ❌ Incorreta
Double sal = double.parseDouble(request.getParameter("salário")); O nome do método está incorreto: o correto é Double.parseDouble (com a classe Double com D maiúsculo). double (minúsculo) é uma palavra reservada para o tipo primitivo, não uma classe. Além disso, Double (wrapper) pode receber o resultado, mas o erro no método invalida a alternativa.
Alternativa D — ❌ Incorreta
double sal = Convert.toDouble(request.getParameter("salário")); Não existe uma classe Convert na API padrão Java (nem no Java SE, nem no Java EE). Métodos de conversão são fornecidos pelas classes wrapper (como Double.parseDouble, Integer.parseInt, etc.).
Alternativa E — ❌ Incorreta
Double sal = request.getSalário("salário").toDouble(); O objeto request (do tipo HttpServletRequest) não possui um método getSalário. O método correto é getParameter. Além disso, não existe método toDouble() na classe String. A cadeia de chamadas é completamente inválida.
NÃO CAIA NESSA!
A banca explora a confusão entre o tipo primitivo double e a classe wrapper Double, e entre o nome correto do método (Double.parseDouble) versus tentativas como double.parseDouble ou Convert.toDouble. Lembre-se: getParameter retorna String e a conversão numérica é feita pelos métodos parseXxx das classes wrapper.