[๊ตฌ๋””์•„์นด๋ฐ๋ฏธ IT๊ตญ๋น„์ง€์›] ์ฐธ์กฐํƒ€์ž… (String, ๋ฐฐ์—ด(array), class), ๋ณ€์ˆ˜์˜ ์ƒ๋ช…์ฃผ๊ธฐ, ์กฐ๊ฑด๋ฌธ switch๋ฌธ, ๋ฐ˜๋ณต๋ฌธ while๋ฌธ๊ณผ for๋ฌธ์— ๋Œ€ํ•ด์„œ ๋ฐฐ์šฐ๊ณ  ๋‹ค์–‘ํ•œ ์‹ค์Šต์„ ํ•ด๋ณด๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์กŒ๋‹ค.


๐Ÿ’ก (๋ณต์Šต) if๋ฌธ ์ด์šฉํ•˜์—ฌ radio๊ฐ’, select๊ฐ’ ๋„˜๊ฒจ ์ถœ๋ ฅํ•˜๊ธฐ

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

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<h1>radio๊ฐ’, select๊ฐ’ ๋„˜๊ฒจ ์ถœ๋ ฅํ•˜๊ธฐ</h1>
	<form action="./ex4Form.jsp" method="post">
		<div>
			์„ฑ๋ณ„
			<input type="radio" name="gender" value="๋‚จ์ž">๋‚จ์ž
			<input type="radio" name="gender" value="์—ฌ์ž">์—ฌ์ž
		</div>
		<div>
			๊ฒฐํ˜ผ
			<select name="married">
				<option value="๋ฏธํ˜ผ">๋ฏธํ˜ผ</option>
				<option value="๊ธฐํ˜ผ">๊ธฐํ˜ผ</option>
			</select>
		</div>
		<div><button type="submit">์ „์†ก</button></div>
	</form>
</body>
</html>

๐Ÿ“ ๊ฒฐ๊ณผ

๐Ÿ“ ์ž‘์„ฑ (2) - ex4Form.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 gender = request.getParameter("gender");
	String married = request.getParameter("married");
%>
	<div>
		์„ฑ๋ณ„
		<%
			if(gender.equals("๋‚จ์ž")) {
		%>
			<input type="radio" name="gender" value="๋‚จ์ž" checked="checked">๋‚จ์ž
			<input type="radio" name="gender" value="์—ฌ์ž">์—ฌ์ž
		<%	
			} else {
		%>
			<input type="radio" name="gender" value="๋‚จ์ž">๋‚จ์ž
			<input type="radio" name="gender" value="์—ฌ์ž" checked="checked">์—ฌ์ž		
		<%
			}
		%>
	</div>
	<div>
		<select name="married">
			<%
				if(married.equals("๋ฏธํ˜ผ")) {
			%>
				<option value="๋ฏธํ˜ผ" selected="selected">๋ฏธํ˜ผ</option>
	            <option value="๊ธฐํ˜ผ">๊ธฐํ˜ผ</option>
	
			<%	
				} else {
			%>
				<option value="๋ฏธํ˜ผ">๋ฏธํ˜ผ</option>
				<option value="๊ธฐํ˜ผ" selected="selected">๊ธฐํ˜ผ</option>		
			<%
				}
			%>
		</select>
	</div>
</body>
</html>
  • value ๊ฐ’์ด ํ•œ๊ธ€์ด๋ฏ€๋กœ request.setCharacterEncoding("utf-8"); ํ•ด์ฃผ๊ธฐ
  • gender.equals("๋‚จ์ž") : ์ €๋ฒˆ์‹œ๊ฐ„์— ๋ฐฐ์šด equals ๋ฉ”์†Œ๋“œ ์‚ฌ์šฉ
  • checked="checked" : radio ํผ ํ˜•ํƒœ๋กœ ์ถœ๋ ฅํ•˜๊ธฐ ์œ„ํ•ด ์„ ํƒํ•œ ๊ฐ’์„ if๋ฌธ์„ ์ด์šฉํ•˜์—ฌ ์ถœ๋ ฅ
  • selected="selected" : select ํผ ํ˜•ํƒœ๋กœ ์ถœ๋ ฅํ•˜๊ธฐ ์œ„ํ•ด ์„ ํƒํ•œ ๊ฐ’์„ if๋ฌธ์„ ์ด์šฉํ•˜์—ฌ ์ถœ๋ ฅ, ๊ฐ€์žฅ ๋ฐ–์— select ํƒœ๊ทธ, if๋ฌธ ์•ˆ์— option ํƒœ๊ทธ๊ฐ€ ๋“ค์–ด๊ฐ€๋Š” ๊ฒƒ ์ฃผ์˜!

โœ” ๋งŒ์•ฝ ์ถœ๋ ฅ ํŽ˜์ด์ง€์—์„œ ๊ฐ’์„ ์ˆ˜์ •ํ•˜์ง€ ๋ชปํ•˜๋„๋ก ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด?
: disabled="disabled" ์‚ฌ์šฉํ•˜๊ธฐ
(text ํƒ€์ž…์€ readonly ์‚ฌ์šฉ)

๐Ÿ“ ๊ฒฐ๊ณผ


๐Ÿ’ก ์ฐธ์กฐํƒ€์ž…

<%
	// ๊ธฐ๋ณธํƒ€์ž…(8๊ฐœ) : ์ •์ˆ˜(byte, short, int, long), ์‹ค์ˆ˜(float, double), ๋…ผ๋ฆฌ(boolean), ๋ฌธ์ž(char)
	// ์ฐธ์กฐํƒ€์ž…(?๊ฐœ) : String, ๋ฐฐ์—ด(arr), class
	
	String name = new String("๊น€ํฌ์ง„");
	//์ฐธ์กฐํƒ€์ž…์„ ๋งŒ๋“ค๋•Œ์—๋Š” new ์—ฐ์‚ฐ์ž๋ฅผ ์จ์ค˜์•ผํ•จ
%>
  • ์ฐธ์กฐํƒ€์ž…์€ ๊ธฐ๋ณธํƒ€์ž… ๋˜๋Š” ์ฐธ์กฐํƒ€์ž…๋ผ๋ฆฌ ์กฐํ•ฉํ•ด์„œ ๋งŒ๋“ ๋‹ค.
    ex) ๊ธฐ๋ณธํƒ€์ž… char ์„ ์—ฌ๋Ÿฌ๊ฐœ ์กฐํ•ฉํ•ด์„œ String ํƒ€์ž…์„ ๋งŒ๋“ฆ

  • ์ฐธ์กฐํƒ€์ž…์„ ๋งŒ๋“ค๋•Œ์—๋Š” new ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

  • ์—ฌ๋Ÿฌ๊ฐœ์˜ ๊ฐ’ ์ €์žฅ ๊ฐ€๋Šฅ (์œ„์น˜์— ์ €์žฅ)
    ํ•˜๋‚˜์˜ ๊ฐ’๋งŒ ์ €์žฅ ๊ฐ€๋Šฅํ•œ ๊ธฐ๋ณธํƒ€์ž…๊ณผ ๋‹ค๋ฅด๊ฒŒ ์—ฌ๋Ÿฌ๊ฐœ์˜ ๊ฐ’์„ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ฐธ์กฐํƒ€์ž… ๋ณ€์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๋ ค๊ณ  ํ•˜๋ฉด ์—ฌ๋Ÿฌ๊ฐœ์˜ ๊ฐ’๋“ค์ด ์ €์žฅ๋œ ์œ„์น˜๊ฐ’์ด ์ถœ๋ ฅ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ฃผ์˜ํ•ด์•ผ ํ•œ๋‹ค.
    (ํ•˜์ง€๋งŒ ์˜ˆ์™ธ๋กœ ์œ ์ผํ•˜๊ฒŒ String ํƒ€์ž…์€ ์ €์žฅ๋œ ๊ฐ’์ด ์ถœ๋ ฅ๋จ!)

๐Ÿ“Œ String ํƒ€์ž…

	// String name = "๊น€ํฌ์ง„";
	// ๋ฌธ์ž์—ด์ƒ์ˆ˜(ํฐ๋”ฐ์˜ดํ‘œ"")๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ์ด ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์€ Stringํƒ€์ž… ๋ฐ–์— ์—†๋‹ค.
	
	out.print(name);
	// ๋ณธ๋ž˜ ์ฐธ์กฐํƒ€์ž…์€ ์ถœ๋ ฅํ•˜๋ฉด "๊น€ํฌ์ง„"์ด ๊ทธ๋Œ€๋กœ ์ถœ๋ ฅ๋˜์ง€ ์•Š๋Š”๋ฐ, ์˜ˆ์™ธ๋กœ Stringํƒ€์ž…์€ ๊ทธ๋Œ€๋กœ ์ถœ๋ ฅ๋œ๋‹ค.
    
    out.print(name.hashCode()); // ๋งŒ์•ฝ์˜ Stringํƒ€์ž…์˜ ์œ„์น˜๊ฐ’์„ ์ถœ๋ ฅํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ์ด๋ ‡๊ฒŒ
	
 %>

String ํƒ€์ž…์€ ์กฐ๊ธˆ ํŠน์ดํ•œ ํƒ€์ž…์ด๋‹ค. ๋‹ค๋ฅธ ์ฐธ์กฐํƒ€์ž…๊ณผ ๋‹ค๋ฅด๊ฒŒ ์˜ˆ์™ธ๊ฐ€ ๋งŽ์œผ๋ฏ€๋กœ ์ฃผ์˜!

  • new ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•  ํ•„์š” ์—†์ด ๋ฌธ์ž์—ด์ƒ์ˆ˜๋กœ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์ถœ๋ ฅ ์‹œ ์œ„์น˜๊ฐ’์ด ์•„๋‹ˆ๋ผ ์ €์žฅ๋œ ๊ฐ’์ด ๊ทธ๋Œ€๋กœ ์ถœ๋ ฅ๋œ๋‹ค.

๐Ÿ“Œ ๋ฐฐ์—ด

<%
	int[] arr = null; // intํƒ€์ž…์˜ ๋ฐฐ์—ด ์ƒ์„ฑ
	arr = new int[3]; // ๊ณต๊ฐ„ 3๊ฐœ ๋ถ€์—ฌ. ๋Œ€๊ด„ํ˜ธ ์‚ฌ์šฉ ์ฃผ์˜!!
	// ์ด๋•Œ ์ƒ์„ฑ๋œ ๋นˆ๊ณต๊ฐ„์—๋Š” int์˜ ๊ธฐ๋ณธ๊ฐ’์ธ 0์ด ์ž๋™์œผ๋กœ ๋“ค์–ด๊ฐ = ์ž๋™์ดˆ๊ธฐํ™”
	
	out.print(arr);
	// ์ €์žฅ๋œ 0์ด ์ถœ๋ ฅ๋˜์ง€ ์•Š๊ณ  ์œ„์น˜๊ฐ’์ด ์ถœ๋ ฅ๋จ
	
	arr[0] = 7; // 0์ด๋ผ๋Š” ์ด๋ฆ„์˜ ๊ณต๊ฐ„์— 7 ์ €์žฅ
	arr[1] = 6;
	arr[2] = 3;
	
	out.print(arr[0]); // ์ฃผ์†Œ๊ฐ’์ด ์•„๋‹ˆ๋ผ ์ €์žฅ๋œ 7์ด ์ถœ๋ ฅ๋จ
	out.print(arr[1]);
	out.print(arr[2]);
	
%>
  • ๋ฐฐ์—ด์€ ๊ฐ™์€ ํƒ€์ž…์˜ ๊ฐ’์„ ๋‚˜์—ด๋œ ๊ณต๊ฐ„์— ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค.
    ๊ทธ๋ž˜์„œ ์„ ์–ธํ•  ๋•Œ ์–ด๋–ค ํƒ€์ž… ์˜ ๋ฐฐ์—ด์ธ์ง€ ์•ž์— ๋ถ™์—ฌ์ฃผ์–ด์•ผ ํ•œ๋‹ค!

  • ๋‚˜์—ด๋œ ๊ณต๊ฐ„์— ์ž๋™์œผ๋กœ ์ด๋ฆ„์ด ๋ถ™๋Š”๋‹ค. (0,1,2,3...)
    ์ด๋•Œ, ๋ถ™์—ฌ์ง€๋Š” ์ด๋ฆ„์€ ์œ„์น˜๊ฐ’๊ณผ๋Š” ๋‹ค๋ฅธ ๊ฐœ๋…์ด๋ฏ€๋กœ ํ˜ผ๋™ํ•˜์ง€ ์•Š์•„์•ผ ํ•œ๋‹ค.

  • ๋ฐฐ์—ด ๋˜ํ•œ ๊ทธ๋ƒฅ ์ถœ๋ ฅํ•˜๋ฉด ์œ„์น˜๊ฐ’์ด ์ถœ๋ ฅ๋œ๋‹ค.

  • ๋ฐฐ์—ด์€ ๋Œ€๊ด„ํ˜ธ []๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๊ฒƒ ์ฃผ์˜!

  • ๋ฐฐ์—ด์— ์ด๋ฆ„์ด ๋ถ™๋Š”๋‹ค๊ณ  ํ•ด์„œ ์ด ์ด๋ฆ„ ๋‹จ๋…์œผ๋กœ ํ˜ธ์ถœ ํ•  ์ˆ˜ ์—†๋‹ค.
    ex) [0] = 7; ์ด๊ฑด ์•ˆ๋จ
    ์™œ๋ƒํ•˜๋ฉด ๋ฐฐ์—ด์„ ์—ฌ๋Ÿฌ๊ฐœ ๋งŒ๋“ค๋ฉด ๊ทธ ๋ฐฐ์—ด๋งˆ๋‹ค ๊ณตํ†ต๋œ ์ด๋ฆ„(0,1,2,3...)์ด ๋ถ™๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๊ทธ๋ž˜์„œ ์–ด๋–ค ๋ฐฐ์—ด์ธ์ง€ ์•ž์— ๋ถ™์—ฌ์ฃผ์–ด์•ผ ํ•œ๋‹ค.
    ex) arr[0] = 7;

โœ” ๊ธฐ๋ณธ๊ฐ’
๋ฐฐ์—ด์„ ์ฒ˜์Œ ์ƒ์„ฑํ•  ๋•Œ ๋นˆ๊ณต๊ฐ„์—๋Š” ์ž๋™์œผ๋กœ ๊ธฐ๋ณธ๊ฐ’์ด ๋“ค์–ด๊ฐ€๊ฒŒ ๋˜๋ฉฐ, ๊ฐ ํƒ€์ž…๋งˆ๋‹ค ๊ธฐ๋ณธ๊ฐ’์ด ๋‹ค๋ฅด๋‹ค.

  • int: 0
  • boolean: false
  • char: ๊ณต๋ฐฑ
  • String : null

๐Ÿ“Œ Class

๐Ÿ“ class ํŒŒ์ผ ์ƒ์„ฑํ•˜๊ธฐ

(class ํŒŒ์ผ์˜ ์ƒ์„ฑ ์œ„์น˜)

์›น ํ™˜๊ฒฝ์—์„œ class ํŒŒ์ผ์„ ์ƒ์„ฑํ•  ๋•Œ์—๋Š” package ์ด๋ฆ„์„ ์ง€์šฐ๋ฉด ์•ˆ๋œ๋‹ค. (์œ„์— ์—๋Ÿฌ๋ฌธ๊ตฌ ์ฐธ๊ณ )

package ์ด๋ฆ„์„ gdj66์œผ๋กœ ์ง€์ •ํ•ด์ฃผ์—ˆ๋‹ค.
โœ” package ์ด๋ฆ„์€ ์†Œ๋ฌธ์ž๋กœ ์‹œ์ž‘ํ•ด์•ผํ•˜๊ณ , class ์ด๋ฆ„์€ ๋Œ€๋ฌธ์ž๋กœ ์‹œ์ž‘ํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

(class ํŒŒ์ผ ์ƒ์„ฑ ํ™•์ธ)

๐Ÿ“ Person.java

package gdj66;

public class Person {
	public int no; // ๋‹ค์–‘ํ•œ ํƒ€์ž… ๊ฐ€๋Šฅ
	public int age;
	public boolean married;
}

๐Ÿ“ ex2.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    
<%@ page import="gdj66.Person"%> <!-- // ์ด๋ ‡๊ฒŒ ์œ„์— ์“ฐ๋ฉด ๋ฐ‘์—์„œ ํ’€๋„ค์ž„์„ ์•ˆ์จ๋„ ๋จ-->

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
	gdj66.Person khj;
	khj = new gdj66.Person();
	
	khj.no = 1; // no๋ผ๋Š” ์ด๋ฆ„์˜ ๊ณต๊ฐ„์— 1 ์ €์žฅ, ํด๋ž˜์Šค๋Š” []๊ฐ€ ์•„๋‹ˆ๋ผ . ์‚ฌ์šฉ
	khj.age = 27;
	khj.married = false;
	
	out.print(khj); // ์ €์žฅ๋œ 1์ด ์ถœ๋ ฅ๋˜์ง€ ์•Š๊ณ  ์ฃผ์†Œ๊ฐ’์ด ์ถœ๋ ฅ๋จ
	
	// ์ด๋Ÿฐ์‹์œผ๋กœ ๊ณ„์† ๋งŒ๋“ค ์ˆ˜ ์žˆ์Œ
	Person ksm; // ํŒจํ‚ค์ง€๋ช… ์ƒ๋žต ๊ฐ€๋Šฅ
	ksm = new Person();
	
	ksm.no = 2; // no๋ผ๋Š” ์ด๋ฆ„์˜ ๊ณต๊ฐ„์— 1 ์ €์žฅ, ํด๋ž˜์Šค๋Š” []๊ฐ€ ์•„๋‹ˆ๋ผ . ์‚ฌ์šฉ
	ksm.age = 30;
	ksm.married = false;
%>
	<h2>๊น€ํฌ์ง„</h2>
	<div>๋ฒˆํ˜ธ : <%=khj.no%></div>
	<div>๋‚˜์ด : <%=khj.age%></div>
	<div>๊ฒฐํ˜ผ์œ ๋ฌด : <%=khj.married%></div>
	
	<h2>๊ฐ•์„ฑ๋ฏผ</h2>
	<div>๋ฒˆํ˜ธ : <%=ksm.no%></div>
	<div>๋‚˜์ด : <%=ksm.age%></div>
	<div>๊ฒฐํ˜ผ์œ ๋ฌด : <%=ksm.married%></div>
</body>
</html>
  • <%@ page import="gdj66.Person"%> : ์ƒ๋‹จ์— ๋ฏธ๋ฆฌ ์จ๋†“์œผ๋ฉด ํŒจํ‚ค์ง€๋ช…์„ ์ƒ๋žตํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ํด๋ž˜์Šค๋Š” ๋งˆ์นจํ‘œ . ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๊ฒƒ ์ฃผ์˜!

  • ํด๋ž˜์Šค ๋˜ํ•œ ๊ทธ๋ƒฅ ์ถœ๋ ฅํ•˜๋ฉด ์œ„์น˜๊ฐ’์ด ์ถœ๋ ฅ๋œ๋‹ค.
    ex) out.print(khj); ์ด๊ฑด ์•ˆ๋จ
    out.print(khj.no);

๐Ÿ“ ๊ฒฐ๊ณผ


๐Ÿ“Œ์‹ค์Šต - snForm.html, snAction.jsp

์ž…๋ ฅ๋œ ์ฃผ๋ฏผ๋“ฑ๋ก๋ฒˆํ˜ธ ๋ถ„์„ํ•˜์—ฌ ๋‚˜์ด์™€ ์„ฑ๋ณ„์„ ๊ตฌ๋ถ„ํ•˜๋Š” ํŽ˜์ด์ง€ ๋งŒ๋“ค๊ธฐ

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

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<h1>์ฃผ๋ฏผ๋ฒˆํ˜ธ ๋ถ„์„</h1>
	<form action="./snAction.jsp" method="post">
		<input type="number" name="sn1">
		-
		<input type="number" name="sn2">
		<button type="submit">๋ถ„์„</button>
	</form>
</body>
</html>

๐Ÿ“ ๊ฒฐ๊ณผ

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

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.util.Calendar" %> <!-- ์•ž๋ถ€๋ถ„ ์ฝ”๋“œ ์ค„์ด๊ธฐ -->
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
	// ํผ์—์„œ ์ž…๋ ฅํ•œ ๊ฐ’ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ
	String sn = request.getParameter("sn1") + request.getParameter("sn2");
	// 970809222222
	
	// 1. ์„ฑ๋ณ„
	// 1-1. 7๋ฒˆ์งธ(์ธ๋ฑ์Šค6) ๋ฌธ์ž(์—ด)๋ฅผ ๋ฝ‘์•„์„œ ์ˆซ์ž๋กœ(intํƒ€์ž…) ๋ฐ”๊ฟ”์•ผํ•จ
	int s7 = Integer.parseInt(sn.substring(6, 7)); // ์ธ๋ฑ์Šค0๋ถ€ํ„ฐ ์‹œ์ž‘
	
	// 1-2. ์„ฑ๋ณ„ ๊ตฌํ•˜๊ธฐ
	String gender = null;
	if(s7 % 2 == 0) {
		gender = "์—ฌ์ž";
	} else {
		gender = "๋‚จ์ž";
	}
	
	// 2. ๋‚˜์ด
	// 2-1. ๋…„๋„ ๊ตฌํ•˜๊ธฐ
	String preYear = null; // ๋…„๋„ ์•ž์ž๋ฆฌ
	if(s7 == 0 || s7 == 9) {
		preYear = "18";
	} else if(s7 == 1 || s7 == 2 || s7 == 5 || s7 == 6) {
		preYear = "19";
	} else {
		preYear = "20";
	}
	
	int year = Integer.parseInt(preYear + sn.substring(0, 2)); // ๋…„๋„ ๋„ค์ž๋ฆฌ๋กœ ํ•ฉ์น˜๊ณ  intํƒ€์ž…์œผ๋กœ ๋ฐ”๊พธ๊ธฐ
	
	// 2-2. ํ˜„์žฌ ๋…„๋„ ๊ตฌํ•˜๊ธฐ
	Calendar today = java.util.Calendar.getInstance(); // ์•ž๋ถ€๋ถ„ ์ฝ”๋“œ ์ค„์ž„
	// ์˜ค๋Š˜ ๋‚ ์งœ ์ •๋ณด๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ์ฝ”๋“œ
	int todayYear = today.get(Calendar.YEAR);
	// ์˜ค๋Š˜ ๋‚ ์งœ ์ •๋ณด์—์„œ ๋…„๋„๋งŒ ์ถ”์ถœ
	
	// 2-3. ๋‚˜์ด ๊ตฌํ•˜๊ธฐ
	int age = todayYear - year;
%>
<h2>๋ถ„์„๊ฒฐ๊ณผ</h2>
<h3>๋‹น์‹ ์˜ ์„ฑ๋ณ„์€: <%=gender%>์ž…๋‹ˆ๋‹ค</h3>
<h3>๋‹น์‹ ์˜ ๋‚˜์ด๋Š”: <%=age%>์„ธ ์ž…๋‹ˆ๋‹ค</h3>
</body>
</html>
  • <%@ page import="java.util.Calendar" %> : ํŒจํ‚ค์ง€๋ช… ์ƒ๋žตํ•˜๊ธฐ

  • sn.substring : ๋ฌธ์ž์—ด ์ค‘ ์›ํ•˜๋Š” ๊ธ€์ž๋ฅผ ๋ฝ‘์„ ์ˆ˜ ์žˆ๋‹ค.
    (์‹œ์ž‘ ์ธ๋ฑ์Šค, ๋ ์ธ๋ฑ์Šค) ์‹œ์ž‘ ์ธ๋ฑ์Šค๋ถ€ํ„ฐ ~ ๋ ์ธ๋ฑ์Šค ์•ž๊นŒ์ง€ ์ถœ๋ ฅํ•œ๋‹ค.
    ์ธ๋ฑ์Šค์˜ ์‹œ์ž‘์€ 1์ด ์•„๋‹ˆ๋ผ 0์ด๋ฏ€๋กœ ์ฃผ์˜ํ•œ๋‹ค!

    โœ” ์ด๋•Œ ์ถœ๋ ฅ๋˜๋Š” "2"๋Š” ์ˆซ์ž๊ฐ€ ์•„๋‹ˆ๋ผ ๋ฌธ์ž์ด๋‹ค. ํ—ท๊ฐˆ๋ฆฌ๋ฉด ๋งˆ์šฐ์Šค๋ฅผ ๊ฐ€์ ธ๋‹ค๋Œ€๋ฉด ์–ด๋–ค ํƒ€์ž…์ธ์ง€ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ์ˆซ์ž๊ฐ€ ์•„๋‹ˆ๋ผ ๋ฌธ์ž์ด๋ฏ€๋กœ ์„ฑ๋ณ„๊ณผ ๋‚˜์ด ๊ณ„์‚ฐ์„ ์œ„ํ•ด int ํƒ€์ž…์œผ๋กœ ๋ฐ”๊ฟ”์ค€๋‹ค.

  • ์‚ฌ์šฉ์ž๊ฐ€ ์ฃผ๋ฏผ๋ฒˆํ˜ธ๋กœ ์ž…๋ ฅํ•˜๋Š” ํƒœ์–ด๋‚œ ๋…„๋„๋Š” ์ด ๋„ค ์ž๋ฆฌ์ค‘์—์„œ ๋’ท ๋‘์ž๋ฆฌ๋ฟ์ด๋ฏ€๋กœ, ์•ž ๋‘์ž๋ฆฌ๋ฅผ ์œ ์ถ”ํ•ด์•ผ ํ•œ๋‹ค. ์„ฑ๋ณ„์„ ๊ตฌํ•  ๋•Œ ์‚ฌ์šฉํ•œ ์ •๋ณด๋กœ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ์œ„ ์‚ฌ์ง„์„ ์ฐธ๊ณ ํ•˜์—ฌ if๋ฌธ์„ ์ž‘์„ฑ

  • ๋‚˜์ด ๊ณ„์‚ฐ์„ ์œ„ํ•ด์„œ๋Š” ํ˜„์žฌ ๋…„๋„๋ฅผ ๊ตฌํ•ด์•ผํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ์ฝ”๋“œ๋“ค์€ ๊ตฌ๊ธ€๋ง ์ ๊ทน ํ™œ์šฉํ•˜๊ธฐ!

  • ์ถ•์•ฝ ์•ˆํ•œ ๋ฒ„์ „ (์ฐธ๊ณ )

๐Ÿ“ ๊ฒฐ๊ณผ

๐Ÿ’ก ๋ณ€์ˆ˜์˜ ์ƒ๋ช…์ฃผ๊ธฐ

<%
	// ๋ณ€์ˆ˜ ์ƒ๋ช…์ฃผ๊ธฐ(variable scope)
	// 1. ๋ณ€์ˆ˜๋ฅผ ๋จผ์ € ์„ ์–ธ ํ•ด์•ผ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
	// out.print(x); // error
	int x = 1;
	out.print(x);
	
	//2. ์ž๋ฐ”์–ธ์–ด์˜ ๋ณ€์ˆ˜ ์ƒ๋ช…์ฃผ๊ธฐ๋Š” ๋ธ”๋ก{}์ž„
	{
		int a = 2;
		a = 7;
		out.print(a);
	}
	// a = 10; // error
	
	int b = 3;
	{
		b = 5;
		out.print(b);
		int c = 6;
		{
			out.print(b);
			out.print(c);
			int d = 9;
		}
	}
	// ์ƒ์œ„ ๋ธ”๋ก ๋ฐ–์—์„œ ์„ ์–ธํ•œ ๊ฒƒ์€ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
%>

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

<%
	// ์กฐ๊ฑด๋ฌธ : if๋ฌธ, switch๋ฌธ ๋น„๊ต
	
	// ๊ฐ’ ๋ถ„๊ธฐ
	int score = 100;

	if(score == 100) {
		out.print("A");
	} else if(score == 90) {
		out.print("B");
	} else if(score == 80) {
		out.print("C");
	} else {
		out.print("D");
	}
%>
	<br>
<%
	switch(score) {
	case 100:
		out.print("A");
		// break;
	case 90:
		out.print("B");
		break;
	case 80:
		out.print("C");
		break;
	default:
		out.print("D");
	}
%>
	<br>
<%
	// ๋ฒ”์œ„ ๋ถ„๊ธฐ
	int score2 = 78;

	if(score2 == 100) {
		out.print("A");
	} else if(score >= 90) {
		out.print("B");
	} else if(score >= 80) {
		out.print("C");
	} else {
		out.print("D");
	}
	// switch๋ฌธ์œผ๋กœ ๋ฒ”์œ„ ๋ถ„๊ธฐ๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์€ ๊ฑฐ์˜ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.
%>
  • switch๋ฌธ์€ ๊ฐ’๋ถ„๊ธฐ๋งŒ ๊ฐ€๋Šฅํ•˜๋‹ค. (ํŠน์ • ๊ฐ’๋งŒ ๊ธฐ์ค€์ด ๋จ)
    ๋ฐ˜๋ฉด if๋ฌธ์€ ๋ฒ”์œ„๋ถ„๊ธฐ๋„ ๊ฐ€๋Šฅ ํ•˜๋‹ค. (ํŠน์ • ๊ฐ’์˜ ๋ฒ”์œ„๋„ ๊ธฐ์ค€์ด ๋  ์ˆ˜ ์žˆ์Œ)
    switch๋ฌธ์œผ๋กœ ๋ฒ”์œ„๋ถ„๊ธฐ๋ฅผ ํ•˜๋ ค๋ฉด ์•„์ฃผ ๋งŽ์€ case๋ฅผ ์ผ์ผํžˆ ์จ์ค˜์•ผํ•˜๋ฏ€๋กœ ๊ฑฐ์˜ ๋ถˆ๊ฐ€๋Šฅ์— ๊ฐ€๊น๋‹ค.

  • switch๋ฌธ์€ break๊ฐ€ ์žˆ์–ด์•ผํ•œ๋‹ค.
    if๋ฌธ์€ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋ฉด ์‹คํ–‰ํ•˜๊ณ  ๋‚˜๋จธ์ง€๋Š” ๊ฑด๋„ˆ๋›ฐ์ง€๋งŒ
    switch๋ฌธ์€ ์ฒซ๋ฒˆ์งธ ์กฐ๊ฑด์—์„œ ๋งŒ์กฑํ–ˆ๋‹ค ํ•ด๋„ ๋น ์ ธ๋‚˜์˜ค๋Š” ๊ฒƒ์ด ์•„๋‹Œ break๊ฐ€ ๋‚˜์˜ค๊ธฐ ์ „๊นŒ์ง€ ๊ณ„์† ์‹คํ–‰๋œ๋‹ค.

    break๋ฅผ ์ฃผ์„์ฒ˜๋ฆฌํ•ด์„œ A์™€ B๊ฐ€ ๋‘˜๋‹ค ์ถœ๋ ฅ๋๋‹ค.

๐Ÿ’ก ๋ฐ˜๋ณต๋ฌธ - while๋ฌธ๊ณผ for๋ฌธ

<%
	int x = 0;
	while(x < 5) {
		out.print("a");
		x = x+1; // ์•ˆ ํ•ด์ฃผ๋ฉด ๋ฌดํ•œ๋ฃจํ”„
	}
%>
	<br>
<%
	for(int i=0; i<5; i=i+1) {
		out.print("b");
	}
%>
	<!-- ์œ„ ๋‘ ์ฝ”๋“œ๋Š” ๊ฐ™์€ ๋‚ด์šฉ -->
  • while๋ฌธ๊ณผ for๋ฌธ์€ ๋น„์Šทํ•˜์ง€๋งŒ ์ฃผ๋กœ for๋ฌธ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.
    ์™œ๋ƒํ•˜๋ฉด for๋ฌธ์€ ์‹ค์ˆ˜ ํ•  ํ™•๋ฅ ์ด ์ ๋‹ค. (ํ•œ์ค„์— ๋ช…๋ น 3๊ฐœ ๋‹ค ์“ฐ๋‹ˆ๊นŒ)
    ๊ทธ๋ฆฌ๊ณ  for๋ฌธ ์•ˆ์—์„œ ์“ฐ๋Š” ๋ณ€์ˆ˜๋Š” for๋ฌธ ์•ˆ์—์„œ๋งŒ ์‚ฌ์šฉ๊ฐ€๋Šฅ ํ•˜๋‹ค.
    =์บก์Šํ™”๊ฐ€ ๋˜์–ด์žˆ๋‹ค= ๋” ์•ˆ์ •์„ฑ ์žˆ๋‹ค.

โœ” for๋ฌธ ์—ฐ์Šต

	<!-- for๋ฌธ์˜ ๋ณ€์ˆ˜๋Š” ์บก์Šํ™” ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ‘์—์„œ ๋˜ int i๋ฅผ ์“ธ ์ˆ˜ ์žˆ์Œ (์ค‘๋ณต์•„๋‹˜) -->
<%	
	// 1๋ถ€ํ„ฐ 10๊นŒ์ง€์˜ ํ•ฉ ๊ตฌํ•˜๊ธฐ
	int n = 1;
	int sum = 0;
	for(int i=0; i<10; i=i+1) {
		sum = sum + n;
		n = n + 1;
	}
	out.print(sum);
%>
	<br>
<%
	// 1๋ถ€ํ„ฐ 10๊นŒ์ง€์˜ ํ•ฉ ๊ตฌํ•˜๊ธฐ (2)
	int sum2 = 0;
	for(int i=1; i<=10; i=i+1) {
		sum2 = sum2 + i;
	}
	out.print(sum2);
%>
	<br>
<%
	// 1๋ถ€ํ„ฐ 10๊นŒ์ง€์˜ ์ง์ˆ˜์˜ ํ•ฉ ๊ตฌํ•˜๊ธฐ (for๋ฌธ ์•ˆ์— if๋ฌธ ๋„ฃ๊ธฐ)
	int sum3 = 0;
	for(int i=1; i<=10; i=i+1) {
		if(i%2 == 0) {
			sum3 = sum3 + i;
		}
	}
	out.print(sum3);
%>
	<br>
<%
	//1๋ถ€ํ„ฐ 10๊นŒ์ง€์˜ ํ™€์ˆ˜์˜ ํ•ฉ ๊ตฌํ•˜๊ธฐ (for๋ฌธ ์•ˆ์— if๋ฌธ ๋„ฃ๊ธฐ)
	int sum4 = 0;
	for(int i=1; i<=10; i=i+1) {
		if(i%2 == 1) {
			sum4 = sum4 + i;
		}
	}
	out.print(sum4);
%>
  • ๋ฒ”์œ„๋ฅผ ์ •ํ•  ๋•Œ <= ๋ณด๋‹ค๋Š” <์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.
    (<=๋Š” ์ปดํ“จํ„ฐ๊ฐ€ ๋‘๋ฒˆ ์ž‘์—…ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.)

    • <=๋ฅผ <๋กœ ์“ฐ๋ ค๋ฉด
      ์‹œ์ž‘๊ฐ’(i)์„ 1์ด ์•„๋‹ˆ๋ผ 0์œผ๋กœ ๋‘๊ฑฐ๋‚˜ (0๋ถ€ํ„ฐ ์‹œ์ž‘์ด๋ฏ€๋กœ ํšŸ์ˆ˜๋Š” ์ผ์น˜ํ•œ๋‹ค) ๋น„๊ต๊ฐ’์— 1์„ ๋”ํ•˜๋ฉด ๋œ๋‹ค.
    • ex) int i=1; i<=10; i=i+1 ์™€
      int i=0; i<10; i=i+1
      int i=1; i<11; i=i+1 ์€ ๊ฐ™์€ ๋‚ด์šฉ์ด๋‹ค.
    • ๋‹จ, if๋ฌธ ์•ˆ์—์„œ i๋ฅผ ์‚ฌ์šฉํ• ๋•Œ, ์‹œ์ž‘๊ฐ’(i)์ด ๋ฐ˜๋“œ์‹œ 1์ด์–ด์•ผ ๋˜๋Š” ๊ฒฝ์šฐ๋ฅผ ์ฃผ์˜ํ•ด์„œ ์ ์ ˆํ•˜๊ฒŒ ์ž‘์„ฑํ•  ๊ฒƒ!
  • for๋ฌธ ์•ˆ์— for๋ฌธ์„ ๋„ฃ๋Š” ์ค‘๋ณต์€ ์ฃผ์˜ํ•ด์„œ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. ํŠนํžˆ ์„ธ๋ฒˆ์˜ ์ค‘๋ณต์€ ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

  • ํƒˆ์ถœ ์กฐ๊ฑด์„ ๋ธ”๋ก๋‚ด์— ๊ตฌํ˜„ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค -> ๋ธ”๋ก๋‚ด ํƒˆ์ถœ์กฐ๊ฑด์„ ๊ตฌํ˜„ํ•˜์ง€ ์•Š์œผ๋ฉด ๋ฌดํ•œ๋ฃจํ”„์— ๋น ์ง„๋‹ค

  • ++i
    i++
    i+=1
    i=i+1
    ์ปดํ“จํ„ฐ ์ฒ˜๋ฆฌ ์†๋„๊ฐ€ ๋” ๋น ๋ฅธ ์ˆœ์„œ
    (๊ทผ๋ฐ ์š”์ฆ˜์€ ํฐ ์˜๋ฏธ ์—†์Œ)

๐Ÿ’ก ์‹ค์Šต (๊ตฌ๊ตฌ๋‹จํ‘œ ๋งŒ๋“ค๊ธฐ)

์˜ค๋Š˜ ํ•œ ์‹ค์Šต ์ค‘ ๊ฐ€์žฅ ํ—ท๊ฐˆ๋ ธ๋‹ค. ์—ฌ๋Ÿฌ๋ฒˆ ๋ฐ˜๋ณตํ•ด์„œ ์ฝ”๋“œ ๋“ค์—ฌ๋‹ค๋ณด๊ณ  ์ดํ•ดํ•˜๊ธฐ!!

๐Ÿ“Œ ๊ตฌ๊ตฌ๋‹จ ๊ณ„์‚ฐํ•˜๊ธฐ

๐Ÿ“ ์ž‘์„ฑ

<%@ 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>
<%
	// out.print("2*"+1); // out.print("2*"+"1"); ๋ฌธ์ž์—ด+์ˆซ์ž๋Š” ์ˆซ์ž๊ฐ€ ์ž๋™์œผ๋กœ ๋ฌธ์ž์—ด๋กœ ๋ฐ”๋€œ
	
	out.print(2 + "*" + 1 + "=" + (2*1) + " ");
	out.print(2 + "*" + 2 + "=" + (2*2) + " ");
	out.print(2 + "*" + 3 + "=" + (2*3) + " ");
	out.print(2 + "*" + 4 + "=" + (2*4) + " ");
	out.print(2 + "*" + 5 + "=" + (2*5) + " ");
	out.print(2 + "*" + 6 + "=" + (2*6) + " ");
	out.print(2 + "*" + 7 + "=" + (2*7) + " ");
	out.print(2 + "*" + 8 + "=" + (2*8) + " ");
	out.print(2 + "*" + 9 + "=" + (2*9) + " ");
%>
	<br>
	<h1>๊ตฌ๊ตฌ๋‹จ(๊ฐ€๋กœ)</h1>
<%
	for(int dan=2; dan<=9; dan=dan+1) {
		for(int i=1; i<=9; i=i+1) {
			out.print(dan + "*" + i + "=" + (dan*i) + " ");
		}
%>
	<br>
<%
	}
%>
	<br>
<%
	out.print(2 + "*" + 1 + "=" + (2*1) + " ");
	out.print(3 + "*" + 1 + "=" + (3*1) + " ");
	out.print(4 + "*" + 1 + "=" + (4*1) + " ");
	out.print(5 + "*" + 1 + "=" + (5*1) + " ");
	out.print(6 + "*" + 1 + "=" + (6*1) + " ");
	out.print(7 + "*" + 1 + "=" + (7*1) + " ");
	out.print(8 + "*" + 1 + "=" + (8*1) + " ");
	out.print(9 + "*" + 1 + "=" + (9*1) + " ");
%>

	<h1>๊ตฌ๊ตฌ๋‹จ(์„ธ๋กœ)</h1>
<%
	for(int i=1; i<=9; i=i+1) {
		for(int dan=2; dan<=9; dan=dan+1) {
			out.print(dan + "*" + i + "=" + (dan*i) + " ");
		}
%>
	<br>
<%
	}
%>
</body>
</html>

โญโญโญ

  • ๋จผ์ € ์–ด๋–ค ๋ฐฉํ–ฅ์œผ๋กœ ์ถœ๋ ฅํ•  ๊ฒƒ์ธ์ง€ ์ •ํ•œ๋‹ค.
  • ์ •ํ•œ๋Œ€๋กœ ์šฐ์„  ํ•œ์ค„๋งŒ ์ถœ๋ ฅํ•ด๋ณธ๋‹ค.
  • ์ถœ๋ ฅ๋œ ํ•œ์ค„์„ ๋ณด๊ณ  ๋ฐ˜๋ณต๋˜๋Š” ํŒจํ„ด์„ ์ฐพ๋Š”๋‹ค.
    (๊ณ ์ •๋œ ๊ฐ’์€ ๋ฌด์—‡์ธ์ง€, ์ผ์ •ํ•œ ํŒจํ„ด์œผ๋กœ ์ฆ๊ฐ€ํ•˜๋Š” ๊ฐ’์ด ์žˆ๋Š”์ง€)
  • ํŠน์ •ํ•œ ํŒจํ„ด์œผ๋กœ ๋ฐ”๋€Œ๋Š” ๊ฐ’์„ ๋ณ€์ˆ˜๋กœ ๋‘”๋‹ค.
  • ๋ณ€ํ•˜์ง€ ์•Š๊ณ  ๊ณ ์ •๋˜์–ด ์žˆ๋Š” ๊ฐ’์„ ์ƒ์ˆ˜๋กœ ๋‘”๋‹ค.
  • ์ฒซ๋ฒˆ์งธ ์ค„์˜ ๋ณ€์ˆ˜๋ถ€ํ„ฐ ๋„ฃ์–ด์„œ ์ฒซ๋ฒˆ์งธ for๋ฌธ์„ ์ž‘์„ฑํ•œ๋‹ค.
  • ๊ทธ ๋‹ค์Œ ์ „์ฒด๋ฅผ ๋ณด๊ณ , ๋‹ค์‹œ ๋ณ€์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ•ด์„œ ๋‘๋ฒˆ์งธ for๋ฌธ์„ ์ž‘์„ฑํ•œ๋‹ค.

โญโญโญ

๐Ÿ“ ๊ฒฐ๊ณผ


๐Ÿ“Œ ๊ตฌ๊ตฌ๋‹จ ํ‘œ์— ์ถœ๋ ฅํ•˜๊ธฐ (1)

โœ” for๋ฌธ๊ณผ if๋ฌธ์„ ์‚ฌ์šฉํ•˜๊ธฐ

๐Ÿ“ ์ž‘์„ฑ

<%@ 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 #404040;
			text-align: center;
		}
		table {
			border-collapse: collapse;
		}
	</style>
</head>
<body>
	<h1>๊ตฌ๊ตฌ๋‹จ</h1>
	<table>
		<%
			for(int i=0; i<10; i=i+1) {  // tr์ด ์ด 10๊ฐœ๊ฐ€ ํ•„์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์— i์˜ ์ดˆ๊ธฐ๊ฐ’์„ 0์œผ๋กœ ๋‘”๋‹ค
		%>
				<tr>
					<%
						for(int dan=2; dan<=9; dan=dan+1) { // td๋Š” 2๋‹จ๋ถ€ํ„ฐ 9๋‹จ๊นŒ์ง€ ์ด 8๊ฐœ๊ฐ€ ํ•„์š”ํ•˜๋‹ค
							if(i == 0) { // ๋‹จ์„ ์ถœ๋ ฅํ• ์ง€ ๊ตฌ๊ตฌ๋‹จ์„ ์ถœ๋ ฅํ• ์ง€ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๋Š” if๋ฌธ์„ ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹ค
					%>
								<th><%=dan%>๋‹จ</th>
					<%
							} else {
					%>
								<td><%=dan%> * <%=i%> = <%=dan*i%></td>
					<%
							}
						}
					%>
				</tr>
		<%
			}
		%>
	</table>
</body>
</html>

โญโญโญ

  • ํ‘œ์— ๋ฐ˜๋ณต๋ฌธ์„ ์ž‘์„ฑ ํ•  ๋•Œ๋„ ๋ฏธ๋ฆฌ ๊ทธ๋ ค๋ณด๋Š” ๊ฒƒ์ด ํ—ท๊ฐˆ๋ฆฌ์ง€ ์•Š๋Š”๋‹ค.
  • tr๊ณผ td๊ฐ€ ๋ช‡๊ฐœ์”ฉ ํ•„์š”ํ•œ์ง€ ๊ฐฏ์ˆ˜๋ฅผ ํŒŒ์•…ํ•œ๋‹ค.
  • ๊ฐ for๋ฌธ์ด ํ•„์š”ํ•œ ๊ฐฏ์ˆ˜์— ๋งž๊ฒŒ ๋ฐ˜๋ณตํ•˜๋„๋ก ์ž‘์„ฑํ•˜์—ฌ ์•Œ๋งž์€ ์œ„์น˜์— ๋„ฃ๋Š”๋‹ค.
  • ๋™์ผํ•œ tr or td์—์„œ ๋‹ค๋ฅธ ํŒจํ„ด์ด ์ถœ๋ ฅ๋˜์–ด์•ผ ํ•œ๋‹ค๋ฉด, if๋ฌธ์„ ์ด์šฉํ•œ๋‹ค.
  • <% %>๋ฅผ ์ž˜ ์‹ ๊ฒฝ์จ์„œ ์ž…๋ ฅํ•œ๋‹ค! (๋“ค์—ฌ์“ฐ๊ธฐ ์ž˜ํ•˜๊ธฐ)

โญโญโญ


๐Ÿ“ ๊ฒฐ๊ณผ


๐Ÿ“Œ ๊ตฌ๊ตฌ๋‹จ ํ‘œ์— ์ถœ๋ ฅํ•˜๊ธฐ (2)

โœ” ๋ฌด์ง€๊ฐœ ๋ฐฐ๊ฒฝ์ƒ‰ ์ž…ํžˆ๊ธฐ

๐Ÿ“ ์ž‘์„ฑ

<%@ 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 #404040; text-align: center;}
		table {border-collapse: collapse;}
		.red {background-color: #F15F5F;}
		.orange {background-color: #F29661;}
		.yellow {background-color: #E5D85C;}
		.green {background-color: #BCE55C;}
		.blue {background-color: #5CD1E5;}
		.navy {background-color: #6B66FF;}
		.purple {background-color: #F361DC;}
		.gray {background-color: #D5D5D5;}
	</style>
</head>
<body>
	<h1>๊ตฌ๊ตฌ๋‹จ</h1>
	<table>
		<%
			for(int i=0; i<10; i=i+1) {  
		%>
				<tr>
					<%
						for(int dan=2; dan<=9; dan=dan+1) { 
							String color = null;  // dan์— ๋”ฐ๋ผ class๋ช…์ด ๋‹ฌ๋ผ์ ธ์•ผ ํ•  ๊ฒƒ์ด๋‹ค
							if(dan == 2) {        
								color="red";
							} else if(dan == 3) {
								color="orange";
							} else if(dan == 4) {
								color="yellow";
							} else if(dan == 5) {
								color="green";
							} else if(dan == 6) {
								color="blue";
							} else if(dan == 7) {
								color="navy";
							} else if(dan == 8) {
								color="purple";
							} else if(dan == 9) {
								color="gray";
							}
							
							if(i == 0) { 
					%>
								<th class="<%=color%>"><%=dan%>๋‹จ</th>
					<%
							} else {
					%>
								<td class="<%=color%>"><%=dan%> * <%=i%> = <%=dan*i%></td>
					<%
							}
						}
					%>
				</tr>
		<%
			}
		%>
	</table>
</body>
</html>

โญโญโญ

  • ์ƒ‰์„ ์ž…ํž ๋• (css) style ํƒœ๊ทธ๋ฅผ ๋จผ์ € ์ž‘์„ฑํ•œ๋‹ค.
  • dan๋งˆ๋‹ค class ๋ช…์„ ๋‹ค๋ฅด๊ฒŒ ํ•ด์•ผ ๋‹ค๋ฅธ ๋ฐ”ํƒ•์ƒ‰์„ ์ž…ํž ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ -> class ๋ช…์˜ ๊ฐ’์„ ๋‹ค๋ฅด๊ฒŒ ๋งŒ๋“ค ๋ณ€์ˆ˜ ์ƒ์„ฑ
  • if๋ฌธ์„ ์ž‘์„ฑํ•ด์„œ dan์˜ ๊ฐ’์— ๋”ฐ๋ผ ๋ณ€์ˆ˜์— class๋ช…์„ ๋Œ€์ž…ํ•œ๋‹ค.
  • class="<%=color%>" ํ˜•ํƒœ๋กœ td์™€ th์— ์ž…๋ ฅํ•œ๋‹ค.

โญโญโญ

๐Ÿ“ ๊ฒฐ๊ณผ



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

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