예제 노트/Java 예제
Java 예제 Ch 4 조건문, 반복문
Ing_til_death
2021. 10. 21. 09:39
ex) Switch문- 몇 월인지 입력받아 계절을 출력하는 예제
import java.util.*;
calss FlowEx6{
public static void main(String[] args) {
System.out.print("현재 월을 입력하세요.>");
Scanner scanner = new Scanner(System.in);
int month = scanner.nextInt(); // 화면을 통해 입력받은 숫자를 month에 저장
switch(month) {
case 3:
case 4:
case 5:
System.out.println("현재의 계절을 봄입니다.");
break;
case 6: case 7: case 8: (앞부분 case 3,4,5와 같다)
System.out.println("현재의 계절을 여름입니다.");
break;
case 9: case 10: case 11:
System.out.println("현재의 계절을 가을입니다.");
break;
default:
case 12: case 1: case 2:
System.out.println("현재의 계절을 겨울입니다.");
break;
}
}
}
ex) for문 - 차례로 출력
for (int i=1; i<=5; i++) {
for (int j=1;j<=5; j++) {
System.out.printf("[%d, %d]", i, j);
}
==> [1,1],[1,2] .....
ex) while문에서 boolean을 활용한 예제. // boolean a = true => while(a)
import java.util.*;
class FlowEx 27{
public static void main(String [] args){
int num;
int sum = 0;
boolean flag = true; // while문의 조건식으로 사용할 변수
Scanner scanner = new Scanner(System.in);
System.out.println("합계를 구할 숫자를 입력하세요.(끝내려면 0을 입력)");
while(flag){
System.out.println(">>");
String tmp = scanner.nextLine();
num = Integer.parseInt(tmp);
if(num !=0){
sum+=num; // num이 0이 아니면, 더한다.
} else {
flag = false;
}
}
System.out.println("합계:" +sum);
}
}
입력
100
200
300
400
0
결과: 1000
ex) do-while문 - 3,6,9 게임
class FlowEx 29 {
public static void main(String [] args) {
for (int i=1; i<=100; i++) {
System.out.printf("i= %d ", i);
int tmp = i;
do {
// tmp%10이 3의 배수인지 확인(0 제외)
if (tmp%10%3==0 && tmp%10!=0)
System.out.print('짝');
// tmp /=10은 tmp=tmp/10과 동일
} while ((tmp/10)!=0);
System.out.println();
}
}
}
// 3,6,9 게임이다(3의 배수가 아니라)
// 먼저 실행하고, 계속 반복할 지 결정하기에,
// 두 자리 수인 경우 먼저 tmp%10을 하고나서 %3을 하는 것이다.
// tmp%10!=0 은 3,6,9가 십의 자리의 수인 경우 tmp/10 하고나서 적용될테니..
// 그리고나서 tmp/10을 해서 한 번 더 while문 실행 ex 97인 경우 -> 9로 재시작.
ex) 이름이 있는 반복문 - 계산기
import java.util.*;
class FlowEx34 {
public static void main(String[] args) {
int menu = 0, num = 0;
Scanner scanner = new Scanner(System.in);
outer:
while(true) { // 메뉴를 계속해서 선택할 수 있게
System.out.println("(1) square");
System.out.println("(2) square root");
System.out.println("(3) log");
System.out.println("원하는 메뉴(1~3)를 선택하세요. (종료:0)>");
String tmp = scanner.nextLine(); //
menu = Integer.parseInt(tmp);
if (menu == 0) {
System.out.println("프로그램을 종료합니다.");
break;
} else if (!(1<= menu && menu <=3)) {
System.out.println("메뉴를 잘못 선택하셨습니다. (종료는 0)");
continue;
for(; ;) { // 메뉴를 선택했으면 반복적으로 활용할 수 있게 된다.
System.out.println("계산할 값을 입력하세요. (계산 종료:0, 전체 종료: 99)>");
tmp = scanner.nextLine; // 화면에서 입력받은 내용을 tmp에 저장
num = Integer.parseInt(tmp); // 입력받은 문자열(tmp)을 숫자로 변환
if(num==0)
break;
if(num==99)
break outer;
switch(menu) {
case 1:
System.out.println("result="+num*num);
break;
case 2:
System.out.println("result="+Math.sqrt(num));
break;
case 3:
System.out.println("result="+Math.log(num));
break;
}
} // for 끝
} //while 끝
} // main 끝
}
ex) 햄버거 메뉴 예제