본문 바로가기

국비지원_핀테크

8일차_ [java] 반복문 ( while )

 

 

 

 

 

 

while 문

while 문
while 문 사용법
break, continue ( break 는 이후의 문장을 실행하지 않고 바로 반복문을 탈출한다, continue 는 이후의 문장을 실행하지 않고 반복문의 시작 위치로 다시 이동하여 이후 문장을 실행한다 )
break 사용법
continue 사용법
while 문을 사용해서 입력받고 1부터 입력 값 까지의 숫자들을 더한 값을 구해주는 프로그램 예시 ( 참고용 )

 

 

 

 

 

 

 

 

 

 

do - while 문

do - while 문 ( 한번은 무조건 종속 문장을 실행한 뒤 조건식을 확인 )

 

 

 

 

 

 

 

 

 

 

실습 예제1

실습 예제1

 

 

예제 풀이1

package while_;

import java.util.Scanner;

public class Test01 {
	public static void main(String[] args) {
		
		String id = null, pw = null, inputId = null, inputPw = null;
		int choice = 0;
		
		Scanner input = new Scanner(System.in);
		
		while(choice != 3) {
			System.out.print("1. 로그인\n2. 회원가입\n3. 나가기\n>>> ");
			choice = input.nextInt();
			
			// 번호 선택이 올바르지 않은 경우
			if(choice<1 || choice>3) {
				System.out.println("입력 오류!!! 다시 입력하세요.");
				continue;
			} else if(choice == 2) { // 회원가입을 선택한 경우
				System.out.println("---회원가입---");
				System.out.print("아이디 입력 : ");
				id = input.next();
				System.out.print("비밀번호 입력 : ");
				pw = input.next();
				System.out.println("회원가입 완료!");
			} else if(choice == 1) { // 로그인을 선택한 경우
				
				System.out.print("아이디 입력 >>> ");
				inputId = input.next();
				if(inputId.equals(id)) { // 입력한 아이디가 DB에 존재하는 경우
					System.out.print("비밀번호 입력 >>> ");
					inputPw = input.next();
					if(inputPw.equals(pw)) { // PW까지 일치한 경우
						System.out.println(id + "님 로그인 성공!!!");
					}else { // PW가 불일치한 경우
						System.out.println("비밀번호 불일치!!!");
						continue;
					}
					
				} else { // 입력한 ID가 존재하지 않는 경우
					System.out.println("입력하신 아이디가 존재하지 않습니다.");
					continue;
				}
				
			}
		}
		
	}
}

코드 실행

 

 

 

 

 

 

 

 

 

실습 예제2

실습 예제2

 

 

실습 풀이2

package while_;

import java.util.Scanner;

public class Test02 {
	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		
		int coin=0, choice=0;
		
		// 금액 투입
		System.out.print("요금을 투입하세요 >>> ");
		coin = sc.nextInt();
		
		while(choice != 4) {
			// 메뉴판 출력 & 번호 선택
			System.out.println("1. 커피(200)\t2. 코코아(250)\t3. 반환\t4. 종료");
			System.out.print("메뉴를 선택하세요 >>> ");
			choice = sc.nextInt();
			
			switch(choice) {
			// 1번 선택
			case 1:
				if(coin > 200) {
					coin -= 200;
					System.out.println("맛있게 드세요\n남은 금액 : " + coin);
				} else {
					System.out.println("요금이 부족합니다.");
				}
				break;
				
			// 2번 선택
			case 2:
				if(coin > 250) {
					coin -= 250;
					System.out.println("맛있게 드세요\n남은 금액 : " + coin);
				}else {
					System.out.println("요금이 부족합니다.");
				}
				break;
			
			// 3번 선택
			case 3:
				System.out.println("반환된 거스름돈 : " + coin);
				coin = 0;
				break;
				
			// 4번 선택
			case 4:
				break;
				
			// 다른 번호 선택
			default:
				System.out.println("잘못된 입력 값입니다.");
			}
			
		}
		System.out.println("종료되었습니다.");
		
	}
}

코드 실행

 

 

 

 

 

 

 

 

 

실습 예제3

실습 예제3

 

 

예제 풀이3-1

package while_;

public class Test03 {
	public static void main(String[] args) {
		
		int rice = 1000 * 100;
		int mouseNum = 2;
		int day = 1;
		
		while(rice > 0) {
			
			// 쌀 먹기
			rice -= 20*mouseNum;
			
			// 쌀을 먹은 후 2배 증가
			// 더이상 먹을 쌀이 없으면 쥐의 숫자 증가X
			if((day%10==0) && rice>20*mouseNum) {
				mouseNum *= 2;
			}
			
			// 쌀을 다 먹은 후 일 수 증가
			day++;
		}
		
		System.out.println("걸린 일 수 : " + (day-1));
		System.out.println("총 쥐의 수 : " + mouseNum);
		
	}
}

코드 실행

 

 

예제 풀이3-2

package while_;

import java.util.Scanner;

public class Test03_2 {
	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		
		int num1=0, 
			num2=0, 
			least=0, 
			maximum=0;
		
		System.out.print("두 수 입력 : ");
		num1 = sc.nextInt();
		num2 = sc.nextInt();
		
		for (int i=1; i<=num1 && i<=num2 ; i++) {
			if((num1%i==0) && (num2%i==0)) {
				maximum = i;
			}
		}
		
		least = (num1 * num2) / maximum;
		
		System.out.println(num1 + "과 " + num2 + "의 최소공배수 : " + least);
		System.out.println(num1 + "과 " + num2 + "의 최대공약수 : " + maximum);
		
	}
}

코드 실행

 

 

예제 풀이3-3

예제 풀이 3-3

 

 

예제 풀이3-4

예제 풀이 4-5

 

 

 

 

 

 

 

 

실습 예제4

실습 예제4

 

 

예제 풀이4-1

예제 풀이 4-1

 

 

예제 풀이4-2

예제 풀이 4-2

 

728x90