구디아카데미에서의 5일차가 지났다.
오늘은 자바의 데이터 타입 중 참조타입 String과 if를 이용한 조건문을 연습하였다.
<%
// 요청값(parameter value) 처리
String x = request.getParameter("x");
String y = request.getParameter("y");
String z = x+y;
int a = Integer.parseInt(x);
int b = Integer.parseInt(y);
int c = a+b;
%>
코드는 위에서 아래로 순차적으로 실행되는데 제어문을 이용하여 조건분기하거나 반복하는 코드를 작성할 수 있다.
조건문: if, switch
반복문: for, while
<%
/*
if(bool값) { **bool값: "true" or "false"
}
if(){
}
else {
}
if() {
} else if() {
} else if() {
}
if() {
} else if() {
} else if() {
} else {
}
*/
int x = 7;
int last = 7%2;
if(last == 0) {
out.print("짝수");
} else {
out.print("홀수");
}
%>
<%
// 요청값 처리
String name = request.getParameter("name");
int currentYear = 2023;
String year = request.getParameter("year");
int numYear = Integer.parseInt(year);
// 한번에 구현하는것도 가능: 변수를 새롭게 지정할 필요가 없다.
int sn7 = Integer.parseInt(request.getParameter("sn7"));
int age = currentYear - numYear;
String gender = null;
if(sn7 % 2 == 0) {
gender = "여";
} else {
gender = "남";
}
%>
<!-- 출력내용 -->
<div><%=name%>님(<%=age%>)은 <%=gender%>입니다</div>
<%
int d1 = 0; // 1~6, 0은 초기값, 참조타입은 null로 초기화
int d2 = 0; // 1~6
//double d = Math.random(); d는 0.000...~0.999...의 실수이다
d1 = (int)(Math.random() * 6)+1;
d2 = (int)(Math.random() * 6)+1;
int sum = d1+d2;
%>
<div>
<%
if(d1 == 1) {
%>
<img src="./img/one.jpg" width="200" height="200">
<%
} else if(d1 == 2) {
%>
<img src="./img/two.jpg" width="200" height="200">
<%
} else if(d1 == 3) {
%>
<img src="./img/three.jpg" width="200" height="200">
<%
} else if(d1 == 4) {
%>
<img src="./img/four.jpg" width="200" height="200">
<%
} else if(d1 == 5) {
%>
<img src="./img/five.jpg" width="200" height="200">
<%
} else {
%>
<img src="./img/six.jpg" width="200" height="200">
<%
}
%>
<%
// 2번째 주사위
if(d2 == 1) {
%>
<img src="./img/one.jpg" width="200" height="200">
<%
} else if(d2 == 2) {
%>
<img src="./img/two.jpg" width="200" height="200">
<%
} else if(d2 == 3) {
%>
<img src="./img/three.jpg" width="200" height="200">
<%
} else if(d2 == 4) {
%>
<img src="./img/four.jpg" width="200" height="200">
<%
} else if(d2 == 5) {
%>
<img src="./img/five.jpg" width="200" height="200">
<%
} else {
%>
<img src="./img/six.jpg" width="200" height="200">
<%
}
%>
<!-- CSS를 이용한 이미지크기 방법도 생각해보기 --->
</div>
<div>주사위 결과 : <%=sum%></div>
<%
String name = request.getParameter("name");
//작성된 답안 변수
int question1 = Integer.parseInt(request.getParameter("one"));
int question2 = Integer.parseInt(request.getParameter("two"));
int question3 = Integer.parseInt(request.getParameter("three"));
//점수 변수
int answer1 = 0;
int answer2 = 0;
int answer3 = 0;
//정오표 변수
String c1 = null;
String c2 = null;
String c3 = null;
//정오표
/*각 문제의 답 변수(int correct)를 만들어
question1==correct1 이라고 하는 것보다
변수의 수를 줄일 수 있다.*/
if (question1==4) {
answer1=10;
c1="O";
} else {
c1="X";
}
if (question2==4) {
answer2=10;
c2="O";
} else {
c2="X";
}
if (question3==2) {
answer3=10;
c3="O";
} else {
c3="X";
}
//접수합계
int sum = answer1+answer2+answer3;
%>
//작성된 답안 변수
int question1 = Integer.parseInt(request.getParameter("one"));
int question2 = Integer.parseInt(request.getParameter("two"));
int question3 = Integer.parseInt(request.getParameter("three"));
//점수 변수
int = score;
//정오표 변수
String c1 = null;
String c2 = null;
String c3 = null;
//정오표
if (question1==4) {
score=score+1; //위의 방법보다 변수의 수가 줄어든다
c1="O";
} else {
c1="X";
}
if (question2==4) {
score=score+1;
c2="O";
} else {
c2="X";
}
if (question3==2) {
score=score+1;
c3="O";
} else {
c3="X";
}
<%
request.setCharacterEncoding("utf8"); //한글 값을 받을때 필수적으로 작성한다
// 사용자 가위바위보
String userRsp = request.getParameter("userRsp"); // "가위" or "바위" or "보"
// 컴퓨터 가위바위보
int r = (int)(Math.random()*3); // 0,1,2
String comRsp = null;
if(r==0) {
comRsp = "가위";
} else if(r==1) {
comRsp= "바위";
} else {
comRsp= "보";
}
// 승패
String result = null;
if(userRsp.equals(comRsp)) {
result = "비겼다";
} else if((userRsp.equals("가위")&&comRsp.equals("보")) || (userRsp.equals("바위")&&comRsp.equals("보")) || (userRsp.equals("보")&&comRsp.equals("바위"))) {
result = "이겼다";
} else {
result = "졌다";
}
out.print(result);
%>
<!-- 출력 페이지에 이미지를 추가하는 방법 -->
<img src="./img/<%=userRsp%>.jpg">
<!-- 다시시작버튼 -->
<form action="./userRsp.html">
<input type="submit" value="다시시작">
</form>