1

I am trying to add two numbers and display them through tomcat server. These are my codes:

SevletExample.java

public class ServletExample extends HttpServlet {
@Override
protected void doGet (HttpServletRequest req, HttpServletResponse resp)
        throws ServletException, IOException {
    String number1 = req.getParameter("firstNumber");
    String number2 = req.getParameter("secondNumber");
    String sum = number1 + number2;

    resp.getWriter().println("<html>");
    resp.getWriter().println("<head");
    resp.getWriter().println("<title></title>");
    resp.getWriter().println("</head>");
    resp.getWriter().println("</body>");

    resp.getWriter().println("The first integer is: " + number1);
    resp.getWriter().println("<br>The second integer is: " + number2);
    resp.getWriter().println("<br> The sum is: " + sum);

    resp.getWriter().println("</body>");
    resp.getWriter().println("</html>");
}

Index.html

<html>
<head>
        <title>Test Form</title>
</head>
<body>
        <form action="servlet1" method="get">
            Integer 1: <input type="text" name="firstNumber"><br>
            Integer 2: <input type="text" name="secondNumber"><br>
            <input type="submit" value="Add">
        </form>
</body>
</html>

When i run this application, lets say i put integer1 as 2 and integer2 as 2. I get the sum as 22 instead of 4.

How do i change the String sum = number1 + number2; portion to get the sum as 4? Should i change all String to Int?

Someone please help me. Thank you so much in advance.

1
  • Well, if you want to add numbers, you do need numbers... Commented Oct 11, 2017 at 2:28

2 Answers 2

2

You can use Integer.parseInt

int number1 = Integer.parseInt(req.getParameter("firstNumber"));
int number2 = Integer.parseInt(req.getParameter("secondNumber"));
int sum = number1 + number2;
Sign up to request clarification or add additional context in comments.

1 Comment

parseInt returns int not Integer, its better to avoid autoboxing
-1

You've declared sum as a String, so you get concatenation.

String sum = number1 + number2;

2 Comments

The question is "How do i change the String sum = number1 + number2; portion to get the sum as 4?"
Integer.parseInt() will convert a String to an int.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.