while 문
do - while 문
실습 예제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
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-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-4
실습 예제4
예제 풀이4-1
예제 풀이4-2
728x90
'국비지원_핀테크' 카테고리의 다른 글
9일차_ [java] 문자열 클래스의 메소드 ( String ) (0) | 2024.02.14 |
---|---|
8일차_ [java] 배열 ( array, 다차원 배열, 향상된 for문 ) (0) | 2024.02.13 |
7일차_ [java] 반복문 ( for ) (0) | 2024.02.08 |
7일차_ [java] 제어문 ( switch - case ) (0) | 2024.02.08 |
6일차_ [java] 제어문 ( if, else, else if ) (0) | 2024.02.07 |