โ 1~3๊น์ง๋ ์ด์ฐ์ ์ฐ ์ ํด๊ฒฐํ์๋ค!! ํ์ง๋ง 4๋ฒ๋ถํฐ ์ฌ์ฌ ์๊ฐํด์ผ ํ ๊ฒ๋ค์ด ๋ง์์ง๋๋ฐ...
๋ฐ๋ณต๋ฌธ์ ์ฌ์ฉํ์ฌ ๋ฐ๋ณต์ ์ข ๋ฃ๋ฅผ ์๋ ค์ฃผ๋ โexitโ ๋ฌธ์์ด์ ์ ๋ ฅํ๊ธฐ ์ ๊น์ง ๋ฌดํ์ผ๋ก ๊ณ์ฐ์ ์งํํ ์ ์๋๋ก ์์ค ์ฝ๋๋ฅผ ์์ ํฉ๋๋ค.
๋ฐ๋ณต๋ฌธ์ ์ฌ์ฉํฉ๋๋ค. (e.g. for, while โฆ)
public class App {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
/* ๋ฐ๋ณต๋ฌธ ์ฌ์ฉ ํด์ ์ฐ์ฐ์ ๋ฐ๋ณต */
...
System.out.println("๊ฒฐ๊ณผ: " + result);
System.out.println("๋ ๊ณ์ฐํ์๊ฒ ์ต๋๊น? (exit ์
๋ ฅ ์ ์ข
๋ฃ)");
/* exit์ ์
๋ ฅ ๋ฐ์ผ๋ฉด ๋ฐ๋ณต ์ข
๋ฃ */
}
}
์๋ฌธ 1. for๋ฌธ์ ์ด๊ธฐ๊ฐ์ด๋ ์กฐ๊ฑด, ์ฆ๊ฐ๊ฐ ์ด๊ฑธ ์ด๋ป๊ฒ ์ ์ด์ผํ์ง..?
๊ฐ์์์ ๋ฐฐ์ด๋๋ก for๋ฌธ ๋ฐฐ์ธ ๋ ์ฒ์๊ตฌ์กฐ์ ์ด๊ธฐ๊ฐ, ์กฐ๊ฑด, ์ฆ๊ฐ๊ฐ์ ์ ์ผ๋ผ๊ณ ๋ฐฐ์์ ๋ญ ์ ์ด์ผ ํ ์ง ๋ง๋งํด์ for๋ฌธ ์์ ๋ฅผ ์ฌ๋ฌ๊ฐ ๊ตฌ๊ธ๋ง ํ๋๋ฐ ์ด๋ฐ!! ์๋ฌด๊ฒ๋ ์์ ์ด๋ ๋์์..?๐ซข ์ ๋ ์นด์๋ค,,
๐for( ; ; ){} ์ด๋ ๊ฒ ; ์ผ๋ก ๋๋ ์ฃผ๊ธฐ๋ง ํ๊ณ ๋น์ด๋์ผ๋ฉด ๋ฌดํ๋ฃจํ ์ํ๊ฐ ๋๋คโผ๏ธ
์๋ฌธ 2. exit๋ ์ ๋ ฅ๋ฐ์ ์ ์์ผ๋ ค๋ฉด ๋ฌธ์์ด๋ก ๋ฐ๊ฟ์ผํ๋๋ฐ String์ผ๋ก ๋ฐ๊พธ๋ฉด ๋ฌธ์๋ ๋๊ณ ์ซ์๋ ๋ฐ์ ์ ์๋๊ฐ..?
Integer num1 = Integer.valueOf(input1); // ํ ๋ณํ ๐ ๋ฌธ์์ด์ ์ ์๋ก ๋ฐ๊ฟ ๊ฒฝ์ฐ int๊ฐ ์๋ Integer.valueOf๋ฅผ ์จ์ผํ๋ค. (์ด ๋ถ๋ถ๋ int๋ก ํ๋๋ ์ค๋ฅ๋์ ๊ตฌ๊ธ๋ง ํ์)๋ฌธ์์ด์ด exit๋ ์ผ์นํ์ง ํ์ธํ ๋ == ์ผ๋๋ ์ค๋ฅ๋ธ...
operator == '+'์ด๋ฐ์์ผ๋ก ๋น๊ต ์ฐ์ฐ์ ์จ๋ ๋์๋๋ฐ String์ ์๋๋ ๊ฒ์,, ๊ฐ์ '๋ฌธ์'์ฌ์ ๋ ์ค ์์,,, ์ด๋ถ๋ถ์ ๋ต๋ตํด์ gptํํ
๋ฌผ์ด๋ดค๋ค.(operator.equals("*")) ์ด๋ ๊ฒ ๋ณ๊ฒฝํ๋๋ ๋๋ค~!์ด๋ ๊ฒ ์ค๋ฅ๋ค์ ๋ค ํด๊ฒฐ ํ ํ 4๋ฒ๊น์ง์ ์ฝ๋!!
package calculator;
import java.util.Scanner;
public class App {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
for(;;) {
System.out.println("์ฒซ ๋ฒ์งธ ์ซ์๋ฅผ ์
๋ ฅํ์ธ์: (์ข
๋ฃํ๋ ค๋ฉด exit ์
๋ ฅ)");
String input1 = sc.nextLine(); // ๊ฐ์ ์
๋ ฅ๋ฐ์
if (input1.equals("exit")) {
System.out.println("ํ๋ก๊ทธ๋จ์ ์ข
๋ฃํฉ๋๋ค.");
break;
}
Integer num1 = Integer.valueOf(input1); // ๋ฌธ์์ด์์ ์ ์๋ก ํ๋ณํ
System.out.println("๋ ๋ฒ์งธ ์ซ์๋ฅผ ์
๋ ฅํ์ธ์: (์ข
๋ฃํ๋ ค๋ฉด exit ์
๋ ฅ)");
String input2 = sc.nextLine();
if (input2.equals("exit")) {
System.out.println("ํ๋ก๊ทธ๋จ์ ์ข
๋ฃํฉ๋๋ค.");
break;
}
Integer num2 = Integer.valueOf(input2); // ๋ฌธ์์ด์์ ์ ์๋ก ํ๋ณํ
System.out.println("์ฌ์น์ฐ์ฐ ๊ธฐํธ๋ฅผ ์
๋ ฅํ์ธ์: (์ข
๋ฃํ๋ ค๋ฉด exit ์
๋ ฅ)");
// charAt(idx) : charAt ๋ฉ์๋๋ ๋งค๊ฐ๋ณ์๋ก char ํ์
์ผ๋ก ๋ฐํ ํ๊ณ ์ํ๋ ๋ฌธ์์ด์ ์์น(index)๋ฅผ ๋ฐ๋๋ค.
String operator = sc.nextLine();
if (operator.equals("exit")) {
System.out.println("ํ๋ก๊ทธ๋จ์ ์ข
๋ฃํฉ๋๋ค.");
break;
}
int result = 0;
if (operator.equals("+")) {
result = num1 + num2;
System.out.println("๊ฒฐ๊ณผ: " + result);
} else if (operator.equals("-")) {
result = num1 - num2;
System.out.println("๊ฒฐ๊ณผ: " + result);
} else if (operator.equals("*")) {
result = num1 * num2;
System.out.println("๊ฒฐ๊ณผ: " + result);
} else if (operator.equals("/")) {
if (num2 == 0) { // ๋ถ๋ชจ์ 0์ด ์
๋ ฅ๋ ์ ์๋ ์กฐ๊ฑด ๋ฌ์์ค
System.out.println("๋ถ๋ชจ์ 0์ด ์
๋ ฅ๋ ์ ์์ต๋๋ค.");
} else {
result = num1 / num2;
System.out.println("๊ฒฐ๊ณผ: " + result);
}
} else{ // ๋ค๋ฅธ ๊ธฐํธ๋ฅผ ์
๋ ฅํ์์ ๊ฒฝ์ฐ
System.out.println("๋ชจ๋ฅด๋ ๊ธฐํธ์
๋๋ค.");
}
}
}
}