구디아카데미
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>
System.out.println("짝수");<br>
} else {<br>
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>