๐ŸŒฑ[๊ตฌ๋””์•„์นด๋ฐ๋ฏธ IT๊ตญ๋น„์ง€์›]

๊น€ํฌ์ง„ยท2023๋…„ 4์›” 11์ผ
0

[๊ตฌ๋””์•„์นด๋ฐ๋ฏธ IT๊ตญ๋น„์ง€์›] if๋ฌธ์„ ๋ฐฐ์›Œ๋ณด๊ณ , ๋‹ค์–‘ํ•œ ๋ฉ”์†Œ๋“œ(Math.random, equals)์™€ if๋ฌธ์„ ์ด์šฉํ•˜์—ฌ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค.


๐Ÿ’ก (๋ณต์Šต) action ํŽ˜์ด์ง€ ๋งŒ๋“ค๊ธฐ

  • inputForm.html
    form ํƒœ๊ทธ ์—ฐ์Šต
    (form action ํƒœ๊ทธ, method๋Š” post ํƒ€์ž…, form ํƒœ๊ทธ ์•ˆ์— button ๋„ฃ๊ธฐ, input ํƒœ๊ทธ๋กœ ์ž…๋ ฅ์ฐฝ ์ƒ์„ฑํ•˜๊ธฐ)

  • inputAction.jsp
    • request.getParameter : ๊ฐ’ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ (์š”์ฒญ๊ฐ’ parameter value ์ฒ˜๋ฆฌ)
    • Integer.parseInt : ๋ฌธ์ž์—ด๋กœ ๋ถˆ๋Ÿฌ์˜จ ๊ฐ’(String ํƒ€์ž…)์„ int ํƒ€์ž…์œผ๋กœ ๋ฐ”๊พธ๊ธฐ
    • ์›น ํŽ˜์ด์ง€ ์ถœ๋ ฅ : <%out.print()%> ์™€ <%=%> ๋‘๊ฐ€์ง€ ๋ฐฉ๋ฒ•

๐Ÿ“ ๊ฒฐ๊ณผ

int ํƒ€์ž…์œผ๋กœ ๋ณ€ํ™˜ํ•˜์ง€ ์•Š์€ ๊ฐ’์€ 30์ด ์•„๋‹Œ 1020์œผ๋กœ ์ถœ๋ ฅ๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

๐Ÿ’ก ์กฐ๊ฑด๋ฌธ - if๋ฌธ

  • ์ œ์–ด๋ฌธ
    • ์กฐ๊ฑด๋ฌธ
      • if๋ฌธ
      • switch๋ฌธ
    • ๋ฐ˜๋ณต๋ฌธ
      • for๋ฌธ
      • while๋ฌธ

โœ๏ธ ์ฝ”๋“œ๋Š” ์œ„์—์„œ ์•„๋ž˜๋กœ ์ฝ๋Š”๋‹ค
์ด๋•Œ, if๋ฌธ์„ ์จ์„œ ๊ฑด๋„ˆ ๋›ธ ์ˆ˜ ์žˆ๋‹ค. (๋ถ„๊ธฐ์ฝ”๋“œ)
switch๋ฌธ์€ break๊ฐ€ ์—†์œผ๋ฉด ๊ฑด๋„ˆ ๋›ฐ์ง€ ๋ชปํ•œ๋‹ค.

if๋ฌธ์—๋Š” ์ฐธ,๊ฑฐ์ง“์„ ๊ตฌ๋ถ„ํ•˜๋Š” ํ‘œํ˜„์‹๊ณผ ๋ณ€์ˆ˜๊ฐ€ ๋‚˜์˜ค๊ฒŒ ๋œ๋‹ค.
๋˜๋Š” ๋ณต์žกํ•œ ํ–‰์œ„๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ์‹์ด ๋‚˜์˜ฌ ์ˆ˜๋„ ์žˆ๋‹ค!

if๋ฌธ์€ ์„ธ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.

  • if(ํ‘œํ˜„์‹) {}
  • if(ํ‘œํ˜„์‹) {} else {}
  • if(ํ‘œํ˜„์‹) {} elseif() {} elseif() {} (๋งˆ์ง€๋ง‰์— else{}๋กœ ๋๋‚  ์ˆ˜๋„ ์žˆ์Œ)

๐Ÿ“ if๋ฌธ ์‚ฌ์šฉ์˜ˆ์‹œ


๐Ÿ“Œ ์‹ค์Šต1) snInput.html, snInput.jsp

if๋ฌธ ์ด์šฉํ•ด์„œ ๋‚˜์ด์— ๋”ฐ๋ผ ์„ฑ์ธ์ธ์ง€ ์•„๋‹Œ์ง€ ์ถœ๋ ฅ ๊ฐ€๋Šฅํ•œ ์•ก์…˜ ํŽ˜์ด์ง€ ๋งŒ๋“ค๊ธฐ

๐Ÿ“ ์ž‘์„ฑ (1) - snInput.html

<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>snInput</title>
	
	<style>
		table, td {
			border: 1px solid #000000;
		}
		table {
			border-collapse: collapse;
		}
	</style>
</head>
<body>
	<form action="./snAction.jsp" method="post">
		<table>
			<tr>
				<td>์ด๋ฆ„</td>
				<td>
					<input type="text" name="name">
				</td>
			</tr>
			<tr>
				<td>ํƒœ์–ด๋‚œ ์—ฐ๋„</td>
				<td>
					<input type="number" name="year">
				</td>
			</tr>
			<tr>
				<td>์ฃผ๋ฏผ๋ฒˆํ˜ธ 7๋ฒˆ์งธ ์ˆซ์ž</td>
				<td>
					<input type="number" name="sn7">
				</td>
			</tr>
			<tr>
				<td colspan="2" style="text-align: center;">
					<button type="submit">์ž…๋ ฅ</button>
					<!-- OOO๋‹˜(๋‚˜์ด)๋Š” ์„ฑ์ธ์ž…๋‹ˆ๋‹ค
						 OOO๋‹˜(๋‚˜์ด)๋Š” ๋ฏธ์„ฑ๋…„์ž์ž…๋‹ˆ๋‹ค -->
				</td>
			</tr>
		</table>
	</form>
</body>
</html>

๐Ÿ“ ๊ฒฐ๊ณผ

๐Ÿ“ ์ž‘์„ฑ (2) - snInput.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>
<%
	request.setCharacterEncoding("UTF-8");

	String name = request.getParameter("name"); // ์ด๋ฆ„ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ
	String year = request.getParameter("year"); // ํƒœ์–ด๋‚œ ์—ฐ๋„ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ
	String sn7 = request.getParameter("sn7"); // ์ฃผ๋ฏผ๋ฒˆํ˜ธ 7๋ฒˆ์งธ ์ˆซ์ž ๋ถˆ๋Ÿฌ์˜ค๊ธฐ
	
	int y = Integer.parseInt(year); // ๋ฌธ์ž์—ด์„ ์ˆซ์ž๋กœ ๋ฐ”๊พธ๊ธฐ
	int s = Integer.parseInt(sn7); // ๋ฌธ์ž์—ด์„ ์ˆซ์ž๋กœ ๋ฐ”๊พธ๊ธฐ
	
	// ์œ„ ๊ณผ์ •์„ ํ•œ๋ฒˆ์— ์“ธ ์ˆ˜ ์žˆ๋‹ค.
	// ex) int y = Integer.parseInt(String year = request.getParameter("year"));
	
	int currentYear = 2023; // ํ˜„์žฌ ๋…„๋„ (๋˜๋„๋ก ์‚ฌ์šฉํ•˜๋Š” ๊ฐ’๋“ค์€ ๋ณ€์ˆ˜์— ์ €์žฅํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Œ)
	int age = currentYear - y; // ๋‚˜์ด ๊ณ„์‚ฐํ•˜๊ธฐ
	
	String abult = null; // ์ฐธ์กฐ๋ณ€์ˆ˜์ด๋ฏ€๋กœ null๋กœ ์ดˆ๊ธฐํ™”
	if(age>=19) {
		abult = "์„ฑ์ธ";
	} else {
		abult = "๋ฏธ์„ฑ๋…„์ž";
	} // ์„ฑ์ธ์œ ๋ฌด ๊ตฌํ•˜๊ธฐ
	
	String gender = null; // ์ฐธ์กฐ๋ณ€์ˆ˜์ด๋ฏ€๋กœ null๋กœ ์ดˆ๊ธฐํ™”
	if(s % 2 == 0) {
		gender = "์—ฌ";
	} else {
		gender = "๋‚จ";
	} // ์„ฑ๋ณ„ ๊ตฌํ•˜๊ธฐ
	
%>
	<div>
		<%=name%>๋‹˜(<%=age%>,<%=gender%>)์€ <%=abult%>์ž…๋‹ˆ๋‹ค.
	</div>
</body>
</html>
  • โญ String ํƒ€์ž…์œผ๋กœ ๊ฐ’์„ ๋ถˆ๋Ÿฌ์˜ค๊ณ , ๋ถˆ๋Ÿฌ์˜จ ๋ฌธ์ž์—ด ๊ฐ’์„ int ํƒ€์ž…์œผ๋กœ ๋ฐ”๊พธ๋Š” ๊ณผ์ •์„ ํ•œ์ค„๋กœ๋„ ํ‘œํ˜„ ๊ฐ€๋Šฅํ•˜๋‹ค.
int y = Integer.parseInt(String year = request.getParameter("year"));
  • ํ˜„์žฌ๋…„๋„๋Š” ๋ณ€์ˆ˜๋ฅผ ๋งŒ๋“ค์ง€ ์•Š๊ณ  2023์„ ๋„ฃ์–ด๋„ ๋˜์ง€๋งŒ, ๋˜๋„๋ก ์‚ฌ์šฉํ•  ๊ฐ’๋“ค์€ ๋ณ€์ˆ˜์— ์ €์žฅํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

๐Ÿ“ ๊ฒฐ๊ณผ


๐Ÿ“Œ ์‹ค์Šต2) dice.html, diceResult.jsp

if๋ฌธ๊ณผ ๋žœ๋ค ์ˆซ์ž๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค๋Š” ๋ฉ”์†Œ๋“œ๋ฅผ ์ด์šฉํ•˜์—ฌ ์ฃผ์‚ฌ์œ„ ๊ฒŒ์ž„์„ ํ•  ์ˆ˜ ์žˆ๋Š” ํŽ˜์ด์ง€ ๋งŒ๋“ค๊ธฐ

๐Ÿ“ ์ž‘์„ฑ (1) - dice.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
   <div style="text-align: center">
      <img src="./img/ready.jpg" width="200" height="200">
      <img src="./img/ready.jpg" width="200" height="200">
      <div>
         <a href="./diceResult.jsp">start</a>
         <!-- ์ •๋ณด๋ฅผ ์ž…๋ ฅํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ตณ์ด form action ํƒœ๊ทธ๋ฅผ ์“ธ ํ•„์š” ์—†์ด aํƒœ๊ทธ ์‚ฌ์šฉ -->
      </div>
   </div>
</body>
</html>
  • ์ •๋ณด๋ฅผ ์ž…๋ ฅํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— form action ํƒœ๊ทธ๊ฐ€ ์•„๋‹Œ a ํƒœ๊ทธ ์ด์šฉ

๐Ÿ“ ๊ฒฐ๊ณผ

start ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ๋žœ๋ค์œผ๋กœ ์ฃผ์‚ฌ์œ„ ๊ฒŒ์ž„ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜จ๋‹ค.

๐Ÿ“ ์ž‘์„ฑ (2) - diceResult.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 d1 = 0; // 1~6 ์ฃผ์‚ฌ์œ„1
	int d2 = 0; // 1~6 ์ฃผ์‚ฌ์œ„2
	
	d1 = (int) (Math.random() * 6)+1;
	d2 = (int) (Math.random() * 6)+1;
	// Math.random()์€ 0.0(์˜ค์ฐจ๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ •ํ™•ํ•œ 0์€ ์•„๋‹˜)~0.9๊นŒ์ง€์˜ ๊ฐ’์„ ๋žœ๋ค์œผ๋กœ ๋ฐœ์ƒ ์ฆ‰, int ํƒ€์ž…์ด ์•„๋‹ˆ๋ผ double ํƒ€์ž…์ž„
	// ์ •์ˆ˜ ๊ฐ’๋งŒ ํ•„์š”ํ•˜๋ฏ€๋กœ ๋žœ๋ค์œผ๋กœ ๋ฝ‘์€ ๊ฐ’์„ int ํƒ€์ž…์œผ๋กœ ๋ฐ”๊ฟ”์•ผํ•จ
	// 0๋ถ€ํ„ฐ 5๊นŒ์ง€์˜ ์ˆ˜๊ฐ€ ์•„๋‹Œ, 1๋ถ€ํ„ฐ 6๊นŒ์ง€์˜ ์ˆ˜๊ฐ€ ํ•„์š”ํ•˜๋ฏ€๋กœ 1์„ ๋”ํ•œ๋‹ค
	
	// int๋กœ ๋ฐ”๊พธ๋Š” ๋‘๊ฐ€์ง€ ๋ฐฉ๋ฒ•
	// Math.floor์€ ์†Œ์ˆซ์ ์„ ๋ฒ„๋ฆผ Math.floor(Math.random()*6+1);
	// double๊ฐ’์„ int๋กœ ๊ฐ์‹ธ๋„ ์†Œ์ˆซ์ ์ด ๋ฒ„๋ ค์ง (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">
		<%
			}
		%>
	</div>
	<div>์ฃผ์‚ฌ์œ„ ๊ฒฐ๊ณผ : <%=sum%></div>
</body>
</html>
  • Math.random()
    0.0(doubleํƒ€์ž… ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ •ํ™•ํ•œ ๊ฐ’์˜ 0์€ ์•„๋‹˜)๋ถ€ํ„ฐ 0.9๊นŒ์ง€์˜ ๋žœ๋คํ•œ ์ˆซ์ž๋ฅผ ๋ฐœ์ƒ์‹œํ‚จ๋‹ค. ex) 0.0005, 0.9999, 0.2354 ๋“ฑ...
    (0๋ถ€ํ„ฐ ์ˆซ์ž๊ฐ€ ์‹œ์ž‘๋˜๊ธฐ ๋•Œ๋ฌธ์— 1๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๊ณ  ์‹ถ์œผ๋ฉด +1์„ ํ•ด์ค€๋‹ค.)
    • โญ double ํƒ€์ž…์ด๊ธฐ ๋•Œ๋ฌธ์— ์ •์ˆ˜๊ฐ’๋งŒ ์“ฐ๊ธฐ ์œ„ํ•ด์„œ๋Š” ์†Œ์ˆซ์ ์„ ๋ฒ„๋ ค์•ผํ•จ
      • Math.floor(Math.random())
      • (int)(Math.random()) : ํ˜•๋ณ€ํ™˜์—ฐ์‚ฐ์ž
  • โœ” if๋ฌธ ์•ˆ์—์„œ img src ์‚ฌ์šฉ์‹œ <% %> ์ฃผ์˜ํ•ด์„œ ์ž˜ ์จ์ฃผ๊ธฐ!!

๐Ÿ“ ๊ฒฐ๊ณผ


๐Ÿ“Œ ์‹ค์Šต3) question.html, answer.jsp

if๋ฌธ์„ ์ด์šฉํ•˜์—ฌ ์‹œํ—˜ ๋ฌธ์ œ์˜ ๋‹ต๊ณผ ์ ์ˆ˜๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ํŽ˜์ด์ง€ ๋งŒ๋“ค๊ธฐ

๐Ÿ“ ์˜ˆ์ œ

์ด ์˜ˆ์ œ์— ์ด๋ฆ„ ์นธ๋„ ์ถ”๊ฐ€ํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค

๐Ÿ“ ์ž‘์„ฑ (1) - question.html

<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>๋ฌธ์ œ์ง€</title>
	<style>
		table, td {
			border: 1px solid #000000;
		}
		table {
			border-collapse: collapse;
		}
	</style>
</head>
<body>
	<h1>๋ฌธ์ œ์ง€</h1>
	<fieldset>
		<form action="./answer.jsp" method="post">
		<!-- ์ฃผ์˜! input ํƒœ๊ทธ๋Š” form ํƒœ๊ทธ ์•ˆ์ชฝ์— ์žˆ์–ด์•ผ ์ •๋ณด๊ฐ€ ์ „์†ก๋จ -->
		์ด๋ฆ„: <input type="text" name="name">
		<table>
			<tr>
				<!-- ์™ผ์ชฝ -->
				<td>
					1. onpiece ์ฃผ์ธ๊ณต์˜ ์ง์—…์€?<br>
					<input type="radio" name="q1" value="1">1. ๊ฐœ๋ฐœ์ž<br>
					<input type="radio" name="q1" value="2">2. ํŒ์‚ฌ<br>
					<input type="radio" name="q1" value="3">3. ์˜์‚ฌ<br>
					<input type="radio" name="q1" value="4">4. ํ•ด์ <br>
					<br>
					2. onepiece ๋ฃจํ”ผ๊ฐ€ ํƒœ์–ด๋‚œ ๋ฐ”๋‹ค๋Š”?<br>
					<input type="radio" name="q2" value="1">1. ํƒœํ‰์–‘<br>
					<input type="radio" name="q2" value="2">2. ๋Œ€์„œ์–‘<br>
					<input type="radio" name="q2" value="3">3. ์ธ๋„์–‘<br>
					<input type="radio" name="q2" value="4">4. ์ด์ŠคํŠธ ๋ธ”๋ฃจ<br>
					<br>
					3. ๋ฐ€์งš๋ชจ์ž ํ•ด์ ๋‹จ์˜ ํ•ด์ ์„  ์ด๋ฆ„์€?<br>
					<input type="radio" name="q3" value="1">1. ๊ฑฐ๋ถ์„ <br>
					<input type="radio" name="q3" value="2">2. ์‚ฌ์šฐ์ „๋“œ ์จ๋‹ˆ<br>
					<input type="radio" name="q3" value="3">3. ํƒ€์ดํƒ€๋‹‰<br>
					<input type="radio" name="q3" value="4">4. ์•„ํด๋กœ 11ํ˜ธ<br>
					<br>
					4. ๋ฐ€์งš๋ชจ์ž ํ•ด์ ๋‹จ ๋ฉค๋ฒ„์ˆ˜๋Š”?<br>
					<input type="radio" name="q4" value="1">1. 10๋ช…<br>
					<input type="radio" name="q4" value="2">2. 100๋ช…<br>
					<input type="radio" name="q4" value="3">3. 1000๋ช…<br>
					<input type="radio" name="q4" value="4">4. 10000๋ช…<br>
					<br>
					5. ๋ฐ€์งš๋ชจ์ž ํ•ด์ ๋‹จ์˜ ๋ฉค๋ฒ„๊ฐ€ ๋จน์€ ์—ด๋งค๊ฐ€ ์•„๋‹Œ๊ฒƒ์€?<br>
					<input type="radio" name="q5" value="1">1. ๊ณ ๋ฌด๊ณ ๋ฌด(๋‹ˆ์นด๋‹ˆ์นด)์—ด๋งค<br>
					<input type="radio" name="q5" value="2">2. ๊ฐœ๋ฐœ๊ฐœ๋ฐœ์—ด๋งค<br>
					<input type="radio" name="q5" value="3">3. ๋ถ€ํ™œ๋ถ€ํ™œ์—ด๋งค<br>
					<input type="radio" name="q5" value="4">4. ๊ฝƒ๊ฝƒ์—ด๋งค<br>
				</td>
				<!-- ์˜ค๋ฅธ์ชฝ -->
				<td>
					6. ๋ฐ€์งš๋ชจ์ž ํ•ด์ ๋‹จ ๋ฉค๋ฒ„์ค‘ ์—ด๋งค ๋Šฅ๋ ฅ์ž๋Š”?<br>
					<input type="radio" name="q6" value="1">1. ๋ฃจํ”ผ<br>
					<input type="radio" name="q6" value="2">2. ์กฐ๋กœ<br>
					<input type="radio" name="q6" value="3">3. ๋‚˜๋ฏธ<br>
					<input type="radio" name="q6" value="4">4. ์ƒ๋””<br>
					<br>
					7. ๋ฃจํ”ผ ํ• ์•„๋ฒ„์ง€์˜ ์ง์—…์€?<br>
					<input type="radio" name="q7" value="1">1. ๊ฐœ๋ฐœ์ž<br>
					<input type="radio" name="q7" value="2">2. ๋ณ€ํ˜ธ์‚ฌ<br>
					<input type="radio" name="q7" value="3">3. ๊ตฐ์ธ<br>
					<input type="radio" name="q7" value="4">4. ์–ด๋ถ€<br>
					<br>
					8. ์ƒนํฌ์Šค์˜ ๋จธ๋ฆฌ ์ƒ‰๊น”์€?<br>
					<input type="radio" name="q8" value="1">1. #FFFFFF<br>
					<input type="radio" name="q8" value="2">2. #000000<br>
					<input type="radio" name="q8" value="3">3. #FF0000<br>
					<input type="radio" name="q8" value="4">4. #0000FF<br>
					<br>
					9. ์กฐ๋กœ๊ฐ€ ์‹ธ์šธ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒ€(์นผ)์˜ ๊ฐœ์ˆ˜๋Š”?<br>
					<input type="radio" name="q9" value="1">1. 1๊ฐœ<br>
					<input type="radio" name="q9" value="2">2. 2๊ฐœ<br>
					<input type="radio" name="q9" value="3">3. 3๊ฐœ<br>
					<input type="radio" name="q9" value="4">4. 4๊ฐœ<br>
					<br>
					10. ์›ํ”ผ์Šค์˜ ์˜๋ฏธ๋Š”?<br>
					<input type="radio" name="q10" value="1">1. ์‹ <br>
					<input type="radio" name="q10" value="2">2. ํ”ผ์ž ํ•œ์กฐ๊ฐ<br>
					<input type="radio" name="q10" value="3">3. ๊ณ ํ–ฅ<br>
					<input type="radio" name="q10" value="4">4. ๋ณด๋ฌผ<br>
				</td>
			</tr>
		</table>
			<br><button type="submit">๋‹ต์•ˆ์ „์†ก</button>
		</form>
	</fieldset>
</body>
</html>
  • โœ” input ํƒœ๊ทธ๋Š” form ํƒœ๊ทธ ์•ˆ์ชฝ์— ์žˆ์–ด์•ผ ์ •๋ณด๊ฐ€ ์ „์†ก๋จ! ์‹ค์ˆ˜ ์กฐ์‹ฌํ•˜๊ธฐ

๐Ÿ“ ๊ฒฐ๊ณผ


๐Ÿ“ ์ž‘์„ฑ (2) - answer.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>์ •์˜คํ‘œ</title>
	<style>
	table, td, th {
			border: 1px solid #000000;
		}
		table {
			border-collapse: collapse;
		}
	</style>
</head>
<body>
<%
	String name = request.getParameter("name"); // ์ด๋ฆ„ ๊ฐ€์ ธ์˜ค๊ธฐ

	String q1 = request.getParameter("q1"); // radio ์„ ํƒ๊ฐ’ ๊ฐ€์ ธ์˜ค๊ธฐ
	String q2 = request.getParameter("q2");
	String q3 = request.getParameter("q3");
	String q4 = request.getParameter("q4");
	String q5 = request.getParameter("q5");
	String q6 = request.getParameter("q6");
	String q7 = request.getParameter("q7");
	String q8 = request.getParameter("q8");
	String q9 = request.getParameter("q9");
	String q10 = request.getParameter("q10");
	
	int que1 = Integer.parseInt(q1); // radio ์„ ํƒ๊ฐ’ int ํƒ€์ž…์œผ๋กœ ๋ฐ”๊พธ๊ธฐ
	int que2 = Integer.parseInt(q2);
	int que3 = Integer.parseInt(q3);
	int que4 = Integer.parseInt(q4);
	int que5 = Integer.parseInt(q5);
	int que6 = Integer.parseInt(q6);
	int que7 = Integer.parseInt(q7);
	int que8 = Integer.parseInt(q8);
	int que9 = Integer.parseInt(q9);
	int que10 = Integer.parseInt(q10);
	
	// ์œ„ ๋‘ ๊ณผ์ •์„ ํ•œ์ค„๋กœ int q1 = Integer.parseInt(request.getParameter("q1")); ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ์Œ
	
	int a1 = 4; // ๋ฌธ์ œ๋‹ต ๋ณ€์ˆ˜ ์ƒ์„ฑ
	int a2 = 4;
	int a3 = 2;
	int a4 = 1;
	int a5 = 2;
	int a6 = 1;
	int a7 = 3;
	int a8 = 3;
	int a9 = 2;
	int a10 = 4;
	
	String ox1 = null; // ์ •์˜คํ‘œ ๋ณ€์ˆ˜ ์ƒ์„ฑ
	String ox2 = null;
	String ox3 = null;
	String ox4 = null;
	String ox5 = null;
	String ox6 = null;
	String ox7 = null;
	String ox8 = null;
	String ox9 = null;
	String ox10 = null;
	
	// ์ด๋ ‡๊ฒŒ ํ•œ๋ฒˆ์— ์ƒ์„ฑ ๊ฐ€๋Šฅ String ox1, ox2, ox3, ox4, ox5, ox6, ox7, ox8, ox9, ox10;
	
	int sum = 0; // ์ ์ˆ˜ํ•ฉ๊ณ„ ๋ณ€์ˆ˜ ์ƒ์„ฑ
	
	// ์ ์ˆ˜ํ•ฉ๊ณ„ ๊ณ„์‚ฐํ•˜๊ธฐ
	// ์ฒซ๋ฒˆ์งธ ๋ฌธ์ œ
	if(que1 == a1) {
		sum = sum + 10;
		ox1 = "O";
	} else {
		ox1 = "X";
	}
	// ๋‘๋ฒˆ์งธ ๋ฌธ์ œ
	if(que2 == a2) {
		sum = sum + 10;
		ox2 = "O";
	} else {
		ox2 = "X";
	}
	// ์„ธ๋ฒˆ์งธ ๋ฌธ์ œ
	if(que3 == a3) {
		sum = sum + 10;
		ox3 = "O";
	} else {
		ox3 = "X";
	}
	// ๋„ค๋ฒˆ์งธ ๋ฌธ์ œ
	if(que4 == a4) {
		sum = sum + 10;
		ox4 = "O";
	} else {
		ox4 = "X";
	}
	// ๋‹ค์„ฏ๋ฒˆ์งธ ๋ฌธ์ œ
	if(que5 == a5) {
		sum = sum + 10;
		ox5 = "O";
	} else {
		ox5 = "X";
	}
	// ์—ฌ์„ฏ๋ฒˆ์งธ ๋ฌธ์ œ
	if(que6 == a6) {
		sum = sum + 10;
		ox6 = "O";
	} else {
		ox6 = "X";
	}
	// ์ผ๊ณฑ๋ฒˆ์งธ ๋ฌธ์ œ
	if(que7 == a7) {
		sum = sum + 10;
		ox7 = "O";
	} else {
		ox7 = "X";
	}
	// ์—ฌ๋Ÿ๋ฒˆ์งธ ๋ฌธ์ œ
	if(que8 == a8) {
		sum = sum + 10;
		ox8 = "O";
	} else {
		ox8 = "X";
	}
	// ์•„ํ™‰๋ฒˆ์งธ ๋ฌธ์ œ
	if(que9 == a9) {
		sum = sum + 10;
		ox9 = "O";
	} else {
		ox9 = "X";
	}
	// ์—ด๋ฒˆ์งธ ๋ฌธ์ œ
	if(que10 == a10) {
		sum = sum + 10;
		ox10 = "O";
	} else {
		ox10 = "X";
	}
%>
	<h1>์ •์˜คํ‘œ</h1>
	<table>
		<tr>
			<th colspan="2">์ด๋ฆ„: <%=name%></th>
			<th colspan="2">์ ์ˆ˜: <%=sum%>์ </th>
		</tr>
		<tr>
			<td>1๋ฒˆ</td>
			<td><%=ox1%></td>
			<td>6๋ฒˆ</td>
			<td><%=ox6%></td>
		</tr>
		<tr>
			<td>2๋ฒˆ</td>
			<td><%=ox2%></td>
			<td>7๋ฒˆ</td>
			<td><%=ox7%></td>
		</tr>
		<tr>
			<td>3๋ฒˆ</td>
			<td><%=ox3%></td>
			<td>8๋ฒˆ</td>
			<td><%=ox8%></td>
		</tr>
		<tr>
			<td>4๋ฒˆ</td>
			<td><%=ox4%></td>
			<td>9๋ฒˆ</td>
			<td><%=ox9%></td>
		</tr>
		<tr>
			<td>5๋ฒˆ</td>
			<td><%=ox5%></td>
			<td>10๋ฒˆ</td>
			<td><%=ox10%></td>
		</tr>
	</table>
</body>
</html>

โœ”๏ธ ๊ฐœ์„ ์ 

  • ํ•œ์ค„๋กœ ์“ธ ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„ ์ฒดํฌํ•˜๊ธฐ
int q1 = Integer.parseInt(request.getParameter("q1"));
String ox1, ox2, ox3, ox4, ox5, ox6, ox7, ox8, ox9, ox10;
  • ๋“ค์—ฌ์“ฐ๊ธฐ ์‹ ๊ฒฝ์“ฐ๊ธฐ

  • html ํŒŒ์ผ ์ž‘์„ฑ ์‹œ์— value๊ฐ’์„ ๋‹ต์€ 1, ์˜ค๋‹ต์€ 0์œผ๋กœ ์„ค์ •ํ•ด๋†“์œผ๋ฉด jsp ํŒŒ์ผ ์ž‘์„ฑ ์‹œ์— ๋ฌธ์ œ๋‹ต ๋ณ€์ˆ˜๋ฅผ ์ƒ์„ฑํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค.

    • question.html
    1. onpiece ์ฃผ์ธ๊ณต์˜ ์ง์—…์€?<br>
    		<input type="radio" name="q1" value="0">1. ๊ฐœ๋ฐœ์ž<br>
    		<input type="radio" name="q1" value="0">2. ํŒ์‚ฌ<br>
    		<input type="radio" name="q1" value="0">3. ์˜์‚ฌ<br>
    		<input type="radio" name="q1" value="1">4. ํ•ด์ <br>
    • answer.jsp
      // ์ ์ˆ˜ํ•ฉ๊ณ„ ๊ณ„์‚ฐํ•˜๊ธฐ
      			// ์ฒซ๋ฒˆ์งธ ๋ฌธ์ œ
      			if(q1 == 1) {
      				sum = sum + 10;
      				ox1 = "O";
      			} else {
      				ox1 = "X";
      			}
  • ๋ณ€์ˆ˜ ์ด๋ฆ„ ์ง“๋Š” ๋ถ€๋ถ„ ์ฒดํฌํ•˜๊ธฐ
    (์ด๋ฆ„์„ ์•Œ์•„๋ณด๊ธฐ ์‰ฝ๊ฒŒ, ๋ณต์žกํ•˜์ง€ ์•Š๊ฒŒ ์ž˜ ์ง“๋Š” ์„ผ์Šค!)

๐Ÿ“ ๊ฒฐ๊ณผ


๐Ÿ“Œ ์‹ค์Šต4) rspForm.html, rspAction.jsp

์˜ค๋Š˜ ๋ฐฐ์šด ๋‚ด์šฉ๋“ค(if๋ฌธ, Math.random ๋ฉ”์†Œ๋“œ)๊ณผ ์ƒˆ๋กญ๊ฒŒ ๋ฐฐ์šด equals ๋ฉ”์†Œ๋“œ๋ฅผ ์ด์šฉํ•˜์—ฌ ์ปดํ“จํ„ฐ์™€ ๊ฐ€์œ„๋ฐ”์œ„๋ณด ๊ฒŒ์ž„์„ ํ•  ์ˆ˜ ์žˆ๋Š” ํŽ˜์ด์ง€ ๋งŒ๋“ค๊ธฐ

๐Ÿ“ ์ž‘์„ฑ (1) - rspForm.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>rspForm.html</title>
</head>
<body>
	<h1>๊ฐ€์œ„๋ฐ”์œ„๋ณด๋ฅผ ์„ ํƒํ•˜์„ธ์š”</h1>
	<form action="./rspAction.jsp" method="post">
		<div>
			<input type="radio" name="userRsp" value="๊ฐ€์œ„">
			<img src="./img/s.JPG"> <!-- ๊ฐ€์œ„ ์ด๋ฏธ์ง€ -->
			<br>
			<input type="radio" name="userRsp" value="๋ฐ”์œ„">
			<img src="./img/r.JPG"> <!-- ๋ฐ”์œ„ ์ด๋ฏธ์ง€ -->
			<br>
			<input type="radio" name="userRsp" value="๋ณด">
			<img src="./img/p.JPG"> <!-- ๋ณด ์ด๋ฏธ์ง€ -->
		</div>
		<div>
			<br><button type="submit">๊ฐ€์œ„๋ฐ”์œ„๋ณด</button>
		</div>
	</form>
</body>
</html>
  • value ๊ฐ’์ด ์˜์–ด๋‚˜ ์ˆซ์ž๊ฐ€ ์•„๋‹Œ ํ•œ๊ธ€๋กœ ๋“ค์–ด๊ฐ

๐Ÿ“ ๊ฒฐ๊ณผ


๐Ÿ“ ์ž‘์„ฑ (2) - rspAction.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>rspAction.jsp</title>
	<style>
		table, td {
			text-align: center;
		}
	</style>
</head>
<body>
<%
	request.setCharacterEncoding("UTF-8"); // ๋„˜์–ด์˜ฌ '๊ฐ’'์ด ํ•œ๊ธ€์ผ๋•Œ๋Š” ํ•ญ์ƒ ๊นจ์ง€์ง€์•Š๊ฒŒ ์…‹ํŒ…ํ•ด์ค˜์•ผํ•จ!
	
	String userRsp = request.getParameter("userRsp"); // ์œ ์ €๊ฐ€ ์„ ํƒํ•œ "๊ฐ€์œ„" or "๋ฐ”์œ„" or "๋ณด" ์ค‘์— ํ•˜๋‚˜๊ฐ€ ๋„˜์–ด์˜ด

	String comRsp = null; // ๋‚˜์˜ค๋Š” ๋žœ๋ค ๊ฐ’์— ๋”ฐ๋ผ ์ปดํ“จํ„ฐ์—๊ฒŒ ๊ฐ€์œ„,๋ฐ”์œ„,๋ณด๋ฅผ ์ฃผ๊ธฐ์œ„ํ•œ ๋ณ€์ˆ˜ ์ƒ์„ฑ
	
	int r = (int) (Math.random()*3); // 0, 1, 2 ์ค‘ ํ•˜๋‚˜์˜ ๊ฐ’์ด ๋žœ๋ค์œผ๋กœ ๋ฐœ์ƒ
	if(r == 0) {
		comRsp = "๊ฐ€์œ„";
	} else if(r == 1) {
		comRsp = "๋ฐ”์œ„";
	} else {
		comRsp = "๋ณด";
	} //๋žœ๋ค์œผ๋กœ ๋ฐœ์ƒํ•œ 0, 1, 2์— ๋”ฐ๋ผ ๊ฐ€์œ„, ๋ฐ”์œ„, ๋ณด ๋ถ€์—ฌํ•˜๊ธฐ

	
	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 = "์กŒ๋‹ค";
	}		
%>
	<table>
		<tr>
			<td colspan="3">๊ฒฐ๊ณผ</td>
		</tr>
		<tr>
			<td>
				<%
					if(userRsp.equals("๊ฐ€์œ„")) {
				%>
					<img src="./img/s.JPG">
				<%		
					} else if(userRsp.equals("๋ฐ”์œ„")) {
				%>
					<img src="./img/r.JPG">
				<%
					} else {
				%>
					<img src="./img/p.JPG">
				<%
					}
				%>
			</td>
			<td rowspan="2">
				vs
			</td>
			<td>
				<%
					if(comRsp.equals("๊ฐ€์œ„")) {
				%>
					<img src="./img/s.JPG">
				<%		
					} else if(comRsp.equals("๋ฐ”์œ„")) {
				%>
					<img src="./img/r.JPG">
				<%
					} else {
				%>
					<img src="./img/p.JPG">
				<%
					}
				%>	
			</td>
		</tr>
		<tr>
			<td>๋‚˜</td>
			<td>์ปดํ“จํ„ฐ</td>
		</tr>
		<tr>
			<td colspan="3">
				<%=result%>
			</td>
		</tr>
	</table>
</body>
</html>
  • request.setCharacterEncoding("UTF-8")
    value ๊ฐ’์ด "๊ฐ€์œ„" ๋˜๋Š” "๋ฐ”์œ„" ๋˜๋Š” "๋ณด" ํ•œ๊ธ€์ด๋ฏ€๋กœ ๊นจ์ง€์ง€ ์•Š๊ฒŒ ์ œ์ผ ์œ„์— ์…‹ํŒ…ํ•˜๊ธฐ
  • (int) (Math.random()*3)
    0~2๊นŒ์ง€์˜ ๋žœ๋ค ์ˆซ์ž ์ƒ์„ฑ (1~3์˜ ์ˆซ์ž๊ฐ€ ํ•„์š”ํ•˜๋ฉด +1์„ ํ•ด์ค˜์•ผํ•จ)

โญโญโญ equals ๋ฉ”์†Œ๋“œ

๊ธฐ๋ณธํƒ€์ž…์€ ๋ณ€์ˆ˜๋ฅผ ๋งŒ๋“ค๋ฉด ๋ณ€์ˆ˜์ž๋ฆฌ์— ๊ฐ’์ด ๋“ค์–ด๊ฐ„๋‹ค (ํ•˜๋‚˜์”ฉ๋งŒ ์ €์žฅ)
์˜ˆ๋ฅผ ๋“ค์–ด x์— 10์ด ๋“ค์–ด์žˆ๊ณ  y์— 10์ด ๋“ค์–ด์žˆ์„๋•Œ,
x==y ๋Š” ์ฐธ (10==10) ์ด ๋œ๋‹ค.

๋ฐ˜๋ฉด ์ฐธ์กฐํƒ€์ž…์€
๋ณ€์ˆ˜๋ฅผ ๋งŒ๋“ค๋ฉด ์ฐธ์กฐ(์œ„์น˜๊ฐ’)์ด ๋“ค์–ด๊ฐ€๊ณ  ๊ทธ ์œ„์น˜์— ๊ฐ’์ด ๋“ค์–ด๊ฐ„๋‹ค
(์—ฌ๋Ÿฌ๊ฐœ ์ €์žฅ ๊ฐ€๋Šฅ)

์˜ˆ๋ฅผ ๋“ค์–ด ์ฐธ์กฐํƒ€์ž… x์˜ ์ฃผ์†Œ7์— ๊น€,ํฌ,์ง„์ด ๋“ค์–ด์žˆ๊ณ 
์ฐธ์กฐํƒ€์ž… y์˜ ์ฃผ์†Œ21์— ๊น€,ํฌ,์ง„์ด ๋“ค์–ด์žˆ์„๋•Œ,
x==y๋Š” ๊ฑฐ์ง“ (7!=21)์ด ๋œ๋‹ค.

๊ทธ๋ž˜์„œ ์œ„์˜ ๊ฒฝ์šฐ์™€ ๊ฐ™์ด
userRsp์™€ comRsp ์ฆ‰, ์ฐธ์กฐํƒ€์ž…์„ ๊ฐ’์ด ๊ฐ™์€์ง€ ํ‘œํ˜„์‹์„ ๋งŒ๋“œ๋ ค๋ฉด
๋“ฑํ˜ธ(==)๊ฐ€ ์•„๋‹Œ equals ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด์•ผํ•œ๋‹ค.

  • ๊ฐ€์œ„๋ฐ”์œ„๋ณด if๋ฌธ
    ๊ฐ€์žฅ ์กฐ๊ฑด์ด ์‰ฌ์šด ๊ฒƒ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•œ๋‹ค (๋น„๊ธด๋‹ค)
    ๊ทธ ๋‹ค์Œ ์ด๊ธฐ๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜๋Š” &&(and), ||(or) ์—ฐ์‚ฐ์ž๋ฅผ ์ด์šฉํ•˜์—ฌ ์ž‘์„ฑํ•œ๋‹ค
    ์ง€๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜๋Š” ๋‚˜๋จธ์ง€์˜ ๊ฒฝ์šฐ์ด๊ธฐ ๋•Œ๋ฌธ์— else๋กœ ๋†“๊ณ  ์ž‘์„ฑํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค.

  • ์ด ์˜ˆ์ œ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ if๋ฌธ ์•ˆ์—์„œ img src ์‚ฌ์šฉ์‹œ <% %> ์ฃผ์˜ํ•ด์„œ ์ž˜ ์จ์ฃผ๊ธฐ!!

๐Ÿ“ ๊ฒฐ๊ณผ



profile
ํ•˜๋ฃจ ํ•œ๊ฑธ์Œ์”ฉ๐Ÿ’ช ์ดˆ๋ณด ๊ฐœ๋ฐœ์ž ๋„์ „๊ธฐ ๐ŸŒฑ๐Ÿ’ป

0๊ฐœ์˜ ๋Œ“๊ธ€