구디아카데미

2022.7.18

YOO'sssss 2022. 7. 14. 20:29

클래스

객체 (변수) = 데이터 (변수) + 기능 (메서드)

1) 데이터 역할

2) 기능 역할

3) 데이터 + 기능

데이터역할 > 기능역할 : VO(value object), DTO

데이터역할 < 기능역할 : DAO

▶ p0718

1. 변수
2. 값타입, 참조타입
3. 제어문
4. 메서드의 종류

ex1.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<%
		int x = 10;			// 대입연산자 : 우측값을 좌측변수에 대입(복사)
		System.out.println(x);
		
		// 대입연산자 우측에 값이 아닌 식(계산식,표현식)이 오면 계산 후 값을 복사
		int x2 = x;			// 우측변수도 식(표현식)
		int x3 = 1+2;		// 계산식
		
		// 10 = x; 대입연산자 좌측에는 변수만 와야함 error!
		
		double y = 1.4;
		System.out.println(y);
		
		char x22 = 'A';
		
		// 대입연산자 우측에 참조타입이 오면 참조값(위치값)을 좌측변수에 복사
		int[] arr = {2,10};
		System.out.println(arr[0]);		
		
		int[] arr2 = arr; 	// 주소값만 복사
		
		a.Data d;
		d = new a.Data();
		
		d.age = 19;
		d.num = 2;
		
		
	%>
	
</body>
</html>

ex2.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

<%@ page import="a.Function" %>		<!-- 앞으로 function이라는 것은 a.function으로 나타낸다는 뜻 -->
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<%
	Function.hi();	//  static => 객체를 만들지 않고도 호출가능
	 // static 메서드 호출 방법
	
	// Function.hello();    static이 아니라서 그냥은 실행 안됨
	
	Function f = new Function();	// 일반 메서드 호출 방법
	f.hello();
	
	
	for(int i=1; i<=10; i=i+1){		// i+=1, i++, ++i
		
	}
	
	
	%>
</body>
</html>

▶ p0718-2

1. 페이지간의 통신 
    1) <a> : get
    2. <form> : get, post

▷ a.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<a href="./b.jsp?name=goodee&age=10" >b페이지 호출</a>
	<!-- 위치 / 파일명 / 값 -->
	<!-- ../ 이전 폴더 -->
</body>
</html>

▷ b.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
	// 요청값 분석
	String name = request.getParameter("name");	// 이미 만들어져있어서 메소드 따로 안만들어도 됨
	int age = Integer.parseInt(request.getParameter("age"));	// static 메서드 (대문자)
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<div>
		b페이지
	</div>
	<div>name : <%=name %></div> <!-- goodee -->
	<div>age : <%=age %></div>   <!-- 10 -->
</body>
</html>

▷ a2-form.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<form action="./b2.jsp" method="post">
		<input type="text" name="name" value="goodee">
		<!-- name=goodee -->
		<input type="text" name="age" value="10">
		<!-- age=10 -->
		<button type="submit">b2 페이지 호출</button>
	</form>
</body>
</html>

▷ b2-form.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
	// 요청값 분석
	String name = request.getParameter("name");	// 이미 만들어져있어서 메소드 따로 안만들어도 됨
	int age = Integer.parseInt(request.getParameter("age"));	// static 메서드 (대문자)
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<div>
		b2페이지
	</div>
	<div>name : <%=name %></div> <!-- goodee -->
	<div>age : <%=age %></div>   <!-- 10 -->
</body>
</html>

▷ a3-radio.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<form method="post" action="./b3.jsp">
		<input type="radio" name="gender" value="M">남
		<input type="radio" name="gender" value="F">여
		<button type="submit">제출</button>
	</form>
</body>
</html>

▷ b3-radio.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
	// M, F
	String gender = request.getParameter("gender");
	if(gender.equals("M")) { gender = "남"; }
	else {gender = "여";}
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<%=gender%>
</body>
</html>

service(package)

▷ Fun.java

package service;

public class Fun {
	// 입력값, 출력값
	public String getParameter(String str) { // str은 매개변수 : 입력값을 저장
		String result = "";
		if (str.equals("GDJ")) {
			result = "JAVA";
		} else if (str.equals("GDC")) {
			result = "c#";
		} else if (str.equals("GDN")) {
			result = "network";
		} else {
			result = "error";
		}
		return result;
	}
}

▷ ex1.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import ="service.Fun" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
		<%
		Fun fun = new Fun();
		String result = fun.getParameter("GDJ");
		%>
	<div>
		<%
		out.print(result);			
		%>
	</div>
	<div>
		<%=result%>
	</div>
</body>
</html>

▷ paperForm.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>paperForm</title>
</head>
<body>
   <h1>온라인 시험</h1>
   <form method="post" action="./paperAction.jsp">
      <p>
         이름 : <input type="text" name="name">
      </p>
      <p>
         <div><!-- 문제 -->
            1. 다음중 자바의 기본 데이터타입(자료형)이 아닌것은? 
         </div>
         <div><!-- 보기 -->
            <input type="radio" name="q1" value="1">① int
            <input type="radio" name="q1" value="2">② boolean
            <input type="radio" name="q1" value="3">③ String
            <input type="radio" name="q1" value="4">④ char
          
         </div>
      </p>
      
      <p>
         <div><!-- 문제 -->
            2. 다음중 문자열을 숫자타입으로 변경하는 메서드는?
         </div>
         <div><!-- 보기 -->
            <input type="radio" name="q2" value="1">① Integer.parseInt() 
            <input type="radio" name="q2" value="2">② Math.random()
            <input type="radio" name="q2" value="3">③ System.out.println()
            <input type="radio" name="q2" value="4">④ main()
         </div>
      </p>
      
      <p>
         <div><!-- 문제 -->
            3. 다음중 자바에서 값을 표현하는 방식이 아닌것은?
         </div>
         <div><!-- 보기 -->
            <input type="radio" name="q3" value="1">① "true" 
            <input type="radio" name="q3" value="2">② 'T'
            <input type="radio" name="q3" value="3">③ 100
            <input type="radio" name="q3" value="4">④ False
         </div>
      </p>
      
      <p>
         <div><!-- 문제 -->
            4. 다음중 조건문을 만들때 사용하는 자바 키워드는?
         </div>
         <div><!-- 보기 -->
            <input type="radio" name="q4" value="1">① for
            <input type="radio" name="q4" value="2">② if
            <input type="radio" name="q4" value="3">③ while
            <input type="radio" name="q4" value="4">④ where
         </div>
      </p>
      
      <p>
         <div><!-- 문제 -->
            5. 다음중 System.out.println(10 / 4); 호출 결과값은?
         </div>
         <div><!-- 보기 -->
            <input type="radio" name="q5" value="1">① 2.5 
            <input type="radio" name="q5" value="2">② 3
            <input type="radio" name="q5" value="3">③ 2
            <input type="radio" name="q5" value="4">④ 오류
         </div>
      </p>
      
      <p>
         <div><!-- 문제 -->
            6. 다음중 System.out.println(10.0 / 4.0); 호출 결과값은? 
         </div>
         <div><!-- 보기 -->
            <input type="radio" name="q6" value="1">① 2.5
            <input type="radio" name="q6" value="2">② 3
            <input type="radio" name="q6" value="3">③ 2
            <input type="radio" name="q6" value="4">④ 오류
         </div>
      </p>
      
      <p>
         <div><!-- 문제 -->
            7. 다음중 System.out.println(10 % 3); 호출 결과값은? 
         </div>
         <div><!-- 보기 -->
            <input type="radio" name="q7" value="1">① 3
            <input type="radio" name="q7" value="2">② 3.3333333
            <input type="radio" name="q7" value="3">③ 1
            <input type="radio" name="q7" value="4">④ 오류
         </div>
      </p>
      
      <p>
         <div><!-- 문제 -->
            8. 다음중 System.out.println((int)3.9); 호출 결과값은?  
         </div>
         <div><!-- 보기 -->
            <input type="radio" name="q8" value="1">① 3.14
            <input type="radio" name="q8" value="2">② 3.0
            <input type="radio" name="q8" value="3">③ 3
            <input type="radio" name="q8" value="4">④ 4
         </div>
      </p>
      
      <p>
         <div><!-- 문제 -->
            9. 다음의 코드를 실행시 결과값은?
            <div>
               int x = 77;<br>
               if(x%2==0) {<br>
               &nbsp;&nbsp;&nbsp;System.out.println("짝수");<br>
               } else {<br>
               &nbsp;&nbsp;&nbsp;System.out.println("홀수");<br>
               }<br>
            </div>  
         </div>
         <div><!-- 보기 -->
            <input type="radio" name="q9" value="1">① 짝수
            <input type="radio" name="q9" value="2">② 홀수
            <input type="radio" name="q9" value="3">③ 짝수홀수
            <input type="radio" name="q9" value="4">④ 오류
         </div>
      </p>
      
      <p>
         <div><!-- 문제 -->
            10. 다음의 코드를 실행시 결과값은?
            <div>
               double x = Math.random();<br>
               int y = (int)(x*3);
               System.out.println(y);
            </div>
         </div>
         <div><!-- 보기 -->
            <input type="radio" name="q10" value="1">① 0
            <input type="radio" name="q10" value="2">② 1
            <input type="radio" name="q10" value="3">③ 2
            <input type="radio" name="q10" value="4">④ 0, 1, 2 중 랜덤출력
         </div>
      </p>
      
      <div>
         <button type="submit">답안전송</button>
      </div>
   </form>
</body>
</html>

▷ paperAction.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
	int score=0;

	int a1 = 3;
	int a2 = 1;
	int a3 = 4;
	int a4 = 2;
	int a5 = 3;
	int a6 = 1;
	int a7 = 3;
	int a8 = 3;
	int a9 = 2;
	int a10 = 4;
	
	request.setCharacterEncoding("UTF8");
		
	String name= request.getParameter("name");
	int q1=Integer.parseInt(request.getParameter("q1"));
	int q2=Integer.parseInt(request.getParameter("q2"));
	int q3=Integer.parseInt(request.getParameter("q3"));
	int q4=Integer.parseInt(request.getParameter("q4"));
	int q5=Integer.parseInt(request.getParameter("q5"));
	int q6=Integer.parseInt(request.getParameter("q6"));
	int q7=Integer.parseInt(request.getParameter("q7"));
	int q8=Integer.parseInt(request.getParameter("q8"));
	int q9=Integer.parseInt(request.getParameter("q9"));
	int q10=Integer.parseInt(request.getParameter("q10"));

	
	int[] q = { q1, q2, q3, q4, q5, q6, q7, q8, q9, q10 };
	int[] a = { 3, 1, 4, 2, 3, 1, 2, 3, 2, 4 };

	int scorePerQuestion = 10;
	for (int i = 0; i < a.length; i++) {
		if(q[i] == 0) {
			q[i] = 0;
		}
		if (q[i]==(a[i])) {
			score += scorePerQuestion;
		}
	}
	
	

/* 	  배열 ver
	   String name = request.getParameter("name");
	   int score=0;
	   
	   String a[]={"3","1","4","2","3","1","3","3","2","4"};
	   String q[]=new String[10];
	   for(int i=0; i<q.length; i++){
	      q[i] = request.getParameter("q"+(i+1));
	   }
	   
	   int scorePerQuestion=10;
	   for(int i=0; i<q.length; i++){
	      if(a[i].equals(q[i])){
	         score+=scorePerQuestion; //score = score + scorePerQuestion
	      }
	   }
 */

 
 
 /* int score = 0;

 List<String> list = new ArrayList<>();
 Enumeration<String> names = request.getParameterNames();
 String myName = "";
 do {
     String name = names.nextElement();
     String value = request.getParameter(name);
     if (name.startsWith("q")) {
         list.add(value);
     } else if (name.startsWith("name")) {
         myName = value;
     }
 } while (names.hasMoreElements());
 String[] strings = {"3", "1", "4", "2", "3", "1", "2", "3", "2", "4"};

 int scorePerQs = 10;
 for (int i = 0; i < list.size(); i++) {
     if (strings[i].equals(list.get(i))) {
         score += scorePerQs;
     }
 }
 out.println("이름 : " + myName);
 out.println("점수  : " + score); */

	
%>
<!DOCTYPE html>
<html >
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<div>이름 : <%=name%></div> 
	<div><%=score %>점</div>
</body>
</html>

p0718.zip
0.01MB
p0718-2.zip
0.01MB