Verificar arquivo double é nulo ou igual a zero

0 respostas
R

Falem.

Seguinte. Fiz um servlet simples para uma calculadora com apenas 2 valores. As 4 operações (+, -, * e /) funcionam bem. O problema é com a raiz quadrada. Quando passo do formulario para o servlet ele diz que tem uma string nula. No servlet eu converto a String vinda do formulario para double, mas como (e onde) checar se o valor do double esta nulo ou é igual a zero? É possível? segue as codificações:

formulario.html

<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Calculadora Servlet</title>
</head>
<body>
<br /><br />
<fieldset> <legend> Calculadora Servlet Java </legend>
<form id="frmCadastro" action="CalculadoraSevlet" method="post">
<br /><br />
<p>Entre com os valores a serem calculados na Calculadora Servlet Java</p>
<br /><br />
<label for="valorA">Digite o primeiro Valor:</label>
<br />
<input type="text" id="valorA" name="valorA" size=50 />
<br /><br />
<label for="valorB">Digite o segundo Valor:</label>
<br />
<input type="text" id="valorB" name="valorB" size=50 />
<br />
<br />
<p><strong>ATENÇÃO: PARA RAIZ QUADRADA USAR SOMENTE PRIMEIRO VALOR</strong></p>
<select name="opcao" id="opcao">
<option value="+">(+)</option>
<option value="-">(-)</option>
<option value="*">(*)</option>
<option value="/">(/)</option>
<option value="raiz">(Raiz Quadrada)</option>
</select>
<input id="btCalcular" type="submit" value="Calcular"/>
<input id="btLimpar" type="reset" value="Limpar"/>
<br />
<br />
</form></fieldset>
</body>
</html>

CalculadoraSevlet.java

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

/**

  • Servlet implementation class CalculadoraSevlet
    
    */
    
    @WebServlet("/CalculadoraSevlet")
    
    public class CalculadoraSevlet extends HttpServlet {
    
    private static final long serialVersionUID = 1L;
    

    /**

    • @see HttpServlet#HttpServlet()
      */
      public CalculadoraSevlet() {
      super();
      // TODO Auto-generated constructor stub
      }

    /**

    • @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
      */
      protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
      // TODO Auto-generated method stub
      response.getWriter().append("Served at: ").append(request.getContextPath());
      }

    /**

    • @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
      
      */
      
      protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
      
      // TODO Auto-generated method stub
      
      doGet(request, response);
      
      response.setContentType(text/html);
      
      PrintWriter saida = response.getWriter();
      
      String svalorA = request.getParameter(valorA);
      
      String svalorB = request.getParameter(valorB);
      
      String opcao = request.getParameter(opcao);
      
      double dvalorA = Double.parseDouble(svalorA);
      
      double dvalorB = Double.parseDouble(svalorB);
      
      double resultado = 0;
      
      //tratar aqui se a variavel dvalorB é nula ou igual a zero
      
      switch (opcao){
      
      case “+”:
      
      resultado = dvalorA + dvalorB;
      
      saida.print("
      Resultado: "+resultado);
      
      break;
      
      case “-”:
      
      resultado = dvalorA - dvalorB;
      
      saida.print("
      Resultado: "+resultado);
      
      break;
      
      case “*”:
      
      resultado = dvalorA * dvalorB;
      
      saida.print("
      Resultado: "+resultado);
      
      break;
      
      case “/”:
      
      resultado = dvalorA / dvalorB;
      
      saida.print("
      Resultado: "+resultado);
      
      break;
      
      case “raiz”:
      
      //if(dvalorB == 0.0 || dvalorB.equals("")) {
       
       dvalorB = 1;
       resultado = ((dvalorA * dvalorA)*dvalorB);
       //resultado = Math.sqrt(dvalorA);
       saida.print("<br>Resultado: "+resultado);
       break;
      

      }

      }

    }

Obrigado desde já.

Criado 2 de outubro de 2019
Respostas 0
Participantes 1