• 티스토리 홈
  • 프로필사진
    조별하
  • 방명록
  • 공지사항
  • 태그
  • 블로그 관리
  • 글 작성
조별하
  • 프로필사진
    조별하
    • 분류 전체보기 (124)
      • 1. 공부 (0)
        • 기술 면접 (0)
      • 2. 웹개발 (7)
        • Java (1)
        • IT 정보 (5)
        • Error 모음 (1)
      • 3. 개인관심 (1)
        • 전자 (1)
      • GITHUB (5)
      • IT 기술 면접 (3)
      • COMPUTER (2)
      • TASK (1)
      • LANGUAGES (20)
        • Python (3)
        • Django (6)
        • Java (7)
        • Node (1)
        • Jsp (2)
        • R (1)
      • 데이터과학 (2)
        • 머신러닝 및 딥러닝 (2)
      • DATABASE (5)
        • Oracle (2)
      • ISSUE (10)
        • Django (4)
        • Drf (2)
        • Javascript (1)
        • Git (1)
      • JAVA 교육 (65)
        • Java (3)
        • Jquery (2)
        • Sql (16)
        • Jdbc (1)
        • Db (2)
        • Jsp (9)
        • myWeb (15)
        • Servlet (4)
        • Spring (12)
        • Crawling (0)
        • Hosting (1)
      • 정보처리산업기사 (1)
      • EDUCATION (2)
        • IoT 서비스 (2)
  • 방문자 수
    • 전체:
    • 오늘:
    • 어제:
  • 최근 댓글
      등록된 댓글이 없습니다.
    • 최근 공지
        등록된 공지가 없습니다.
      # Home
      # 공지사항
      #
      # 태그
      # 검색결과
      # 방명록
      • 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일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)
      목차
      표시할 목차가 없습니다.
        • 안녕하세요
        • 감사해요
        • 잘있어요

        티스토리툴바