- 2019/08/23 계산 연습2019년 08월 23일
- 조별하
- 작성자
- 2019.08.23.:20
[전 수업] 성적을 이용해서 데이터를 입력하는 화면과 데이터를 받으면 출력되는 화면을 구현해 보았다
[본 수업] 계산연습 화면을 만들어 보자
1. HTML form 양식을 이용하여 계산 틀을 구현
<%@ page contentType="text/html; charset=UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>07_calc.jsp</title> </head> <body> <h1>* 계산연습 *</h1> <form name="calcfrm" method="get" action="07_calcok.jsp"> 첫번째 수:<input type="number" name="num1" min="0" max="100" required> <hr> 연산자:<input type="text" name="op" size="3" required> <hr> 두번째 수:<input type="number" name="num2" min="0" max="100" required> <hr> <input type="submit" value="계산"> <input type="reset" value="취소"> </form> </body> </html>
※계산을 누르면 입력한 데이터가 07_calcok.jsp로 넘어간다
2. 받은 데이터 출력하는 화면 구현
double a=Integer.parseInt(request.getParameter("num1")); String op=request.getParameter("op"); double b=Integer.parseInt(request.getParameter("num2")); double res1; if(op=="+"){ res1=a+b; out.print("a"+op+"b"+"="+res1); }else if(op=="-"){ res1=a-b; out.print("a"+op+"b"+"="+res1); }else if(op=="*"){ res1=a*b; out.print("a"+op+"b"+"="+res1); }else if(op=="/"){ res1=a/b; out.print("a"+op+"b"+"="+res1); }else if(op=="%"){ res1=a%b; out.print("a"+op+"b"+"="+res1); }
※ 처음에는 if() 안에서 op를 '==' 연산 기호로 조건을 걸었더니 출력값에서 아무런 값이 나오지 않았다.
==과 .equals 는 같은 역할을 한다고 해서 == 연산기호를 .equals로 바꿔보았더니 출력이 되었다
'==' 은 주소값을 비교하는 것이고 .equals는 객체의 내용을 비교하기 때문에 계산 연습 코드에서는
.equals 를 사용해 줘야한다
double a=Integer.parseInt(request.getParameter("num1")); String op=request.getParameter("op"); double b=Integer.parseInt(request.getParameter("num2")); double res1; if(op=="+"){ res1=a+b; out.print("a"+op+"b"+"="+Math.round(res1)); }else if(op=="-"){ res1=a-b; out.print("a"+op+"b"+"="+Math.round(res1)); }else if(op=="*"){ res1=a*b; out.print("a"+op+"b"+"="+Math.round(res1)); }else if(op=="/"){ res1=a/b; out.print("a"+op+"b"+"="+res1); }else if(op=="%"){ res1=a%b; out.print("a"+op+"b"+"="+Math.round(res1)); }
'+','-','*','%' 연산기호는 정수만 나와야 하기 때문에 소수점을 자르는 Math.round() 를 사용해 주었다
<%@ page contentType="text/html; charset=UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>07_calcok.jsp</title> </head> <body> <h1>* 계산연습 *</h1> <% int a=Integer.parseInt(request.getParameter("num1")); String op=request.getParameter("op"); int b=Integer.parseInt(request.getParameter("num2")); int res1=0; double res2=0.0; if(op.equals("+")){ res1=a+b; out.print("a"+op+"b"+"="+Math.round(res1)); }else if(op.equals("-")){ res1=a-b; out.print("a"+op+"b"+"="+Math.round(res1)); }else if(op.equals("*")){ res1=a*b; out.print("a"+op+"b"+"="+Math.round(res1)); }else if(op.equals("/")){ res2=(double)a/b; out.print("a"+op+"b"+"="+res2); }else if(op.equals("%")){ res1=a%b; out.print("a"+op+"b"+"="+Math.round(res1)); } %> <table border="1"> <tr> <td><%=a%></td> <td><%=op%></td> <td><%=b%></td> <td>=</td> <td><% if(op.equals("/")){ out.print((double)res2); }else{ out.print(res1); } %></td> </tr> </table> </body> </html>
'JAVA 교육 > Jsp' 카테고리의 다른 글
2019/08/26 request 내부객체의 다양한 메소드 (0) 2019.08.26 2019/08/23 다양한 컨트롤 요소들 (0) 2019.08.23 2019/08/23 JSP에서 를 HTML이용한 성적 양식 만들어 보기 (0) 2019.08.23 2019/08/23 내부객체 (0) 2019.08.23 2019/08/22 JSP 성적프로그램(기초문법,배열,메소드) (0) 2019.08.22 다음글이전글이전 글이 없습니다.댓글
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)