โ ๋ฏธ์
๊ตฌ๊ตฌ๋จ ์์ ์ ๋ค์ผ๋ฉฐ ๊ฐ์ฌ๋์ด ์ ์ํด์ฃผ์ '์ ๋ ฅํ ๊ฐ์ ๋จ์ด ์ถ๋ ฅ๋๋ ๊ตฌ๊ตฌ๋จ ๋ง๋ค๊ธฐ'๋ฅผ ์งํํ๋ฉด์ ์ฌ์ฉ์์๊ฒ ์กฐ๊ธ ๋ ํธ๋ฆฌํ๊ฒ ๋ฐ๊ฟ ์ ์๋๋ก ๊ณ ๋ฏผํด์ ๋ง๋ค์ด๋ณด์๋ค.
>> GitHub์์ ์ฝ๋ ํ์ธํ๊ธฐ
์ด ์ฝ๋๋ ๋ณด์๋ค์ํผ ๊ฐ์์์ ์์ฑํ ์ฝ๋์
System.out.println(i + " X " + j + " = " + (i*j));
๋ณด์ฌ์ง ๊ณ์ฐ์์ ๋ด์ฉ์ ์กฐ๊ธ ๋ฐ๊ฟ๋ณธ ๊ฒ ๋ฟ์ด๋ค.
package week02;
import java.util.Scanner;
public class W17 {
public static void main(String[] args) {
// ์
๋ ฅ๋ฐ๋ ๋จ์ ์ ์ธํ๊ณ ์ถ๋ ฅ!
Scanner sc = new Scanner(System.in);
int passNum = sc.nextInt(); // ์ถ๋ ฅํ ๊ตฌ๊ตฌ๋จ ์ ๊ฐ
// ๊ตฌ๊ตฌ๋จ
for (int i = 2; i <= 9; i++) { // ๊ตฌ๊ตฌ๋จ์ ์ฒซ ์งธ ์
System.out.println("[ " + i + "๋จ ]");
if (i == passNum) {
continue;
}
for (int j = 2; j <= 9; j++) // ๊ตฌ๊ตฌ๋จ์ ๋ ๋ฒ์งธ ์
System.out.println(i + " X " + j + " = " + (i*j));
}
}
}
๊ณ์ ์ฝ๋๋ฅผ ์ ์ด๋์ ๊ฑด๋ฐ ๋๋ฌด ๊ธธ์ด๋ณด์ผ๊น๋ด util ๋ถ๋ถ์ ๋นผ๊ณ ๋จ๊ฒจ๋ณธ๋ค.
System.out.print("๊ตฌ๊ตฌ๋จ ๋ช๋จ์ด ๊ถ๊ธํ์ ๊ฐ์? (์ซ์๋ง ์
๋ ฅ) : ");
Scanner ์๋์ชฝ์ผ๋ก ์ด ์ฝ๋๋ฅผ ์ถ๊ฐํ๋ค.
์ถ๊ฐํ๊ฒ ๋ ์ด์ ๋ ํฐ๋ฏธ๋์ ๋น์นธ์ผ๋ก ์ปค์๋ง ๊ป๋ป๊ป๋ปํ๋๊น ๋ชจ๋ฅด๋ ์ฌ๋์ ์ค๋ฅ๋ ์ค ์๊ฒ ๋ค ์ถ์ ์๊ฐ์ด ๋ค์, ์ฌ์ฉ์์๊ฒ ๋ถ์น์ ํ ์ฝ๋
๊ฐ์ด ๋๊ปด์ก์๋ค.
์ฌ์ฉ์์๊ฒ ์น์ ํ ์ฝ๋์ด๊ณ ์ถ์ด์ ์กฐ๊ธ ๋ ์์ธํ ๋ช ๋ น์ ํ ์ ์๊ณ , ๋ช ๋ น์ฐฝ์ธ ๊ฒ์ ์๋๋ก ๋ฌธ๊ตฌ๋ฅผ ์ถ๊ฐํด๋ณด์๋ค.
public class W17 {
public static void main(String[] args) {
// ์
๋ ฅ๋ฐ๋ ๋จ์ ์ ์ธํ๊ณ ์ถ๋ ฅ!
Scanner sc = new Scanner(System.in);
System.out.print("๊ตฌ๊ตฌ๋จ ๋ช๋จ์ด ๊ถ๊ธํ์ ๊ฐ์? (์ซ์๋ง ์
๋ ฅ) : ");
int passNum = sc.nextInt(); // ์ถ๋ ฅํ ๊ตฌ๊ตฌ๋จ ์ ๊ฐ
// ๊ตฌ๊ตฌ๋จ
for (int i = 2; i <= 9; i++) { // ๊ตฌ๊ตฌ๋จ์ ์ฒซ ์งธ ์
System.out.println("[ " + i + "๋จ ]");
if (i == passNum) {
continue;
}
for (int j = 2; j <= 9; j++) // ๊ตฌ๊ตฌ๋จ์ ๋ ๋ฒ์งธ ์
System.out.println(i + " X " + j + " = " + (i*j));
}
}
}
passNum
์ ๊ทธ๋๋ก ๋จ๊ฒจ๋๋ ๊ฒ๋ณด๋ค ์๋ฏธ์๊ฒ ๋ณ๊ฒฝํ๋ ๊ฒ์ด ์ข์ ๊ฒ ๊ฐ์์ wantNum
์ผ๋ก ๋ณ๊ฒฝํ๋ค.
๊ทธ๋ฆฌ๊ณ i <= 9
์ด ๋ถ๋ถ์ i <= wantNum
์ด๋ ๊ฒ ๋ณ๊ฒฝํ์ฌ WantNum
๊น์ง ๊ฐ๋๋ก ์์ฑํ๋ค.
public class W17 {
public static void main(String[] args) {
// ์
๋ ฅ๋ฐ๋ ๋จ์ ์ ์ธํ๊ณ ์ถ๋ ฅ!
Scanner sc = new Scanner(System.in);
System.out.print("๊ตฌ๊ตฌ๋จ ๋ช๋จ์ด ๊ถ๊ธํ์ ๊ฐ์? (์ซ์๋ง ์
๋ ฅ) : ");
int wantNum = sc.nextInt(); // ์ถ๋ ฅํ ๊ตฌ๊ตฌ๋จ ์ ๊ฐ
// ๊ตฌ๊ตฌ๋จ
for (int i = 2; i <= wantNum; i++) { // ๊ตฌ๊ตฌ๋จ์ ์ฒซ ์งธ ์
System.out.println("[ " + i + "๋จ ]");
for (int j = 2; j <= 9; j++) // ๊ตฌ๊ตฌ๋จ์ ๋ ๋ฒ์งธ ์
System.out.println(i + " X " + j + " = " + (i*j));
}
}
}
i <= wantNum
์ด๋ ๊ฒ ๋ณ๊ฒฝํ๋ฉด ์ฌ์ฉ์๊ฐ ์
๋ ฅํ ์ ๋ถํฐ wantNum
๊น์ง์ ๊ตฌ๊ตฌ๋จ์ ์ถ๋ ฅํ๋ค๋ ์ ์ ๊ผญ ์๊ณ ์ง๋๊ฐ์ผํ๋ค. ์ด ๋ถ๋ถ์ ๊นจ๋ฌ์ ๋ ์ด์ ๋ ๋ฐ๋ก....
2๋จ์ด ๋์ค๋๋ก 2๋ฅผ ์ ๋ ฅํ์ ๋ 2๋จ๋ง ๋์ค๊ณ ๋ง๊ธธ๋ ๊ฐ๋จํ๊ฒ ์์ฑํ ์ค๋ก ์ฐฉ๊ฐํ๋ค.
์ฌ๋ฏธ๋ก 3์ ์ ๋ ฅํ๋๋ฐ 2๋จ์ด ๋์ค๋ ๊ฒ์ ๋ณด๊ณ ๋จ์ !๐ฑ ํ๋ค.
๋๋ถ๋ถ ๊ตฌ๊ตฌ๋จ์ ์ธ์ธ ๋ 2X1=2 ์ฒ๋ผ 1์ ๊ณฑํ๋ ๊ฒ ๋จผ์ ๋ถ๋ฅด๋๊ฒ ์ต์ํ์ง ์๋ ๋ผ๋ ์๊ฐ์ 1์ ๊ณฑํ๋ ๋ถ๋ถ๋ ์ถ๊ฐํด๋ณด์๋ค.
for (int j = 1; j <= 9; j++) // ๊ตฌ๊ตฌ๋จ์ ๋ ๋ฒ์งธ ์
์ฒซ๋ฒ์งธ ์กฐ๊ฑด์ j = 1
๋ก ๋ณ๊ฒฝํ๋ฉด 1๋ถํฐ ๊ณฑํ ์ ์๋ค.
public class W17 {
public static void main(String[] args) {
// ์
๋ ฅ๋ฐ๋ ๋จ์ ์ ์ธํ๊ณ ์ถ๋ ฅ!
Scanner sc = new Scanner(System.in);
System.out.print("๊ตฌ๊ตฌ๋จ ๋ช๋จ์ด ๊ถ๊ธํ์ ๊ฐ์? (์ซ์๋ง ์
๋ ฅ) : ");
int wantNum = sc.nextInt(); // ์ถ๋ ฅํ ๊ตฌ๊ตฌ๋จ ์ ๊ฐ
// ๊ตฌ๊ตฌ๋จ
for (int i = 2; i <= wantNum; i++) { // ๊ตฌ๊ตฌ๋จ์ ์ฒซ ์งธ ์
System.out.println("[ " + i + "๋จ ]");
for (int j = 1; j <= 9; j++) // ๊ตฌ๊ตฌ๋จ์ ๋ ๋ฒ์งธ ์
System.out.println(i + " X " + j + " = " + (i*j));
}
}
}
๋จธ๋ฆฌ๋ฅผ ๋ง๊ฒ ํ๊ณ ๋ค์ ์ฝ๋๋ฅผ ๋ณด๋ฉฐ 1๋ถ ์ ๋ ๊ณ ๋ฏผํด๋ณด๋ i๋ฅผ ๋ฐ๊ฟ์ฃผ๋ฉด ๋ ๊ฒ ๊ฐ๋ค๋ ์๊ฐ์ด ๋ค์๋ค.
for (int i = wantNum; i <= wantNum; i++) {
i = 2
์๋ ๋ถ๋ถ์ wantNum์ ๋ฃ์ด๋ณด์๋๋ ํด๊ฒฐ๋์๋ค.
public class W17 {
public static void main(String[] args) {
// ์
๋ ฅ๋ฐ๋ ๋จ์ ์ ์ธํ๊ณ ์ถ๋ ฅ!
Scanner sc = new Scanner(System.in);
System.out.print("๊ตฌ๊ตฌ๋จ ๋ช๋จ์ด ๊ถ๊ธํ์ ๊ฐ์? (์ซ์๋ง ์
๋ ฅ) : ");
int wantNum = sc.nextInt(); // ์ถ๋ ฅํ ๊ตฌ๊ตฌ๋จ ์ ๊ฐ
// ๊ตฌ๊ตฌ๋จ
for (int i = wantNum; i <= wantNum; i++) { // ๊ตฌ๊ตฌ๋จ์ ์ฒซ ์งธ ์
System.out.println("[ " + i + "๋จ ]");
for (int j = 1; j <= 9; j++) // ๊ตฌ๊ตฌ๋จ์ ๋ ๋ฒ์งธ ์
System.out.println(i + " X " + j + " = " + (i*j));
}
}
}
์ด๋ ๊ฒ ์ ๋ ฅํ ๊ฐ์ ๋จ๋ง ์ถ๋ ฅ๋๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
์ํ๋ ๋ฐ๊ฐ ๋ชจ๋ ์ถฉ์กฑ๋์์ง๋ง ๋ณธ๋ ๊ตฌ๊ตฌ๋จ์ 1~9๊น์ง์ ๋ ์๋ฅผ ๊ณฑํด์ ๊ตฌ๊ตฌ๋จ์ด ์๋๋๊ฐ!
ํ์ง๋ง ๋ด๊ฐ ์์ฑํ ์ฝ๋๋ 250์ ์
๋ ฅํ๋ฉด 250๋จ์ด ๋์จ๋ค ๐
(์ด๋ฌ๋ฉด ๊ตฌ๊ตฌ๋จ์ด ์๋๋ผ n๋จ ์๋๋๊ณ ..)
๊ทธ๋์ ์ด๋ฒ์ ๋ง์ง๋ง์ผ๋ก 9๋จ๊น์ง ์ค์์ ๊ณ ๋ฅผ ์ ์๋๋ก ์ถ๊ฐ ์์ ์ ํด๋ณด๋ ค๊ณ ํ๋ค.
if
๋ก ๊ฐ์ ์๊ฐ์ ํ๋๋ฐ 9๊น์ง์ ์ ํ์ ๋๊ธฐ๊ฐ ์ ๋งคํด์ WantNum
์ ๋ฐ๊นฅ์ผ๋ก ๊บผ๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋์ if~else๋ฌธ์ ์ถ๊ฐํด 9๋จ๊น์ง ์
๋ ฅํ ์ ์๊ณ 10๋ถํฐ๋ 1๋ถํฐ 9๊น์ง ์
๋ ฅ์ด ๊ฐ๋ฅํฉ๋๋ค.
์ด ์๋ด๊ฐ ์ถ๋ ฅ๋๋๋ก ์์ฑํ๋ค.
public class W17 {
public static void main(String[] args) {
// ์
๋ ฅ๋ฐ๋ ๋จ์ ์ ์ธํ๊ณ ์ถ๋ ฅ!
Scanner sc = new Scanner(System.in);
System.out.print("๊ตฌ๊ตฌ๋จ ๋ช๋จ์ด ๊ถ๊ธํ์ ๊ฐ์? (์ซ์๋ง ์
๋ ฅ) : ");
int wantNum = sc.nextInt(); // ์ถ๋ ฅํ ๊ตฌ๊ตฌ๋จ ์ ๊ฐ
if (wantNum <= 9){
// ๊ตฌ๊ตฌ๋จ
for (int i = wantNum; i <= wantNum; i++) { // ๊ตฌ๊ตฌ๋จ์ ์ฒซ ์งธ ์
System.out.println("[ " + i + "๋จ ]");
for (int j = 1; j <= 9; j++) // ๊ตฌ๊ตฌ๋จ์ ๋ ๋ฒ์งธ ์
System.out.println(i + " X " + j + " = " + (i*j));
}
} else {
System.out.println("1๋ถํฐ 9๊น์ง ์
๋ ฅ์ด ๊ฐ๋ฅํฉ๋๋ค.");
}
}
}
๋ญ๊ฐ ํ๊ฐ์ง ๋ ๋ง์์ ์๋๋ ์ ์ด ์๋ค๋ฉด ๋ค์ ์ ๋ ฅํ ์ ์๊ฒ return ํ๋ ๊ฒ์ด๋ค.
์กฐ๊ธ ์์๋ณด๋, ๋ณดํต if~else๋ฌธ๋ณด๋ค While๋ฌธ์ด๋ Switch๋ฅผ ๋ง์ด ์ฌ์ฉํ๋ค๊ณ ๋ค ํ๋ค. ๊ทธ๋ฆฌ๊ณ ๋ค์ ์ ๋ ฅ๋ฐ๊ฒ ํ๋ ค๋ฉด ์ฌ๊ทํธ์ถ์ ํ๋ค๊ณ ์ ํ์์๋ค.
์ด๋ฐ ์ ์ฅ.
์ฌ๊ทํธ์ถ ๋ค์ด๋ณธ ์ ์ ์์ด๋ ์์ธํ ์์ง ๋ชปํ๋ค. ์ค๋ ๋ฉ์ง๊ฒ ๋ง๋ฌด๋ฆฌํ๊ณ ์ถ์๋ฐ ๋ ๊ณต๋ถํ๊ณ ๋์ ์์ ํด์ผํ ์ง ๊ธด์ฅ๋๋ค.
โค๏ธโ๐ฅ do ~ while๊ณผ whil๋ก ๋ณ๊ฒฝ์ ์๋ํด๋ณด์๋๋ฐ ์ ์๋์ ์กฐ๊ธ ๋ ์์ ์ ๋ค์ ํ์ ๋ฐ๊ฟ๋ณด๋ ค๊ณ ํ๋ค!