Reputation:
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.
Upvotes: 1
Views: 74
Reputation: 136
You can use Integer.parseInt
int number1 = Integer.parseInt(req.getParameter("firstNumber"));
int number2 = Integer.parseInt(req.getParameter("secondNumber"));
int sum = number1 + number2;
Upvotes: 2
Reputation: 3905
You've declared sum as a String, so you get concatenation.
String sum = number1 + number2;
Upvotes: -1