원쥬
원주는 공부중
원쥬
전체 방문자
오늘
어제
  • 분류 전체보기 (29)
    • Django (0)
    • Vue3 (2)
    • Android (7)
    • Arduino (0)
    • JSPServlet (0)
    • CSS (0)
    • HTML (0)
    • Java (9)
      • Java (9)
      • JavaFestival (0)
    • JavaScript (0)
    • Machine Learning (5)
    • Python (2)
    • Project (1)
      • first_project (1)
      • second_project (0)
      • third_project (0)
    • Tistory (3)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • pandas
  • volley
  • while문 예제
  • machinelearning
  • machine learning
  • 안드로이드
  • v-bind
  • 사라지게하기
  • v-model
  • vscode
  • 폰트바꾸기
  • matplotlib
  • Python
  • Ref
  • android
  • button
  • while문
  • Vue3
  • 손글씨데이터
  • textarea 오른쪽 하단
  • invisible
  • visible
  • v-on
  • 영화데이터
  • AndroidStudio
  • JSON
  • API
  • 안드로이드 스튜디오
  • while
  • Android Stuido

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
원쥬

원주는 공부중

[Java] 조건문 응용 실습 - 자판기 프로그램 if/ switch-case
Java/Java

[Java] 조건문 응용 실습 - 자판기 프로그램 if/ switch-case

2022. 7. 24. 16:34

Step 1 

package 자판기프로그램;

import java.util.Scanner;

public class Ex01자판기 {

	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);

		System.out.println("금액을 입력하세요.");

		int money = sc.nextInt();

		System.out.println("메뉴를 고르세요.");
		System.out.print("1.아우터(700원) 2.이구동성(1000원) 3.에그몽(500원) >> ");

		int menu = sc.nextInt();

		// 1. if문

		if (menu == 1) {
			System.out.println("잔돈 : " + (money - 700) + "원");
		} else if (menu == 2) {
			System.out.println("잔돈 : " + (money - 1000) + "원");
		} else if (menu == 3) {
			System.out.println("잔돈 : " + (money - 500) + "원");
		}

		// 2. 스위치 케이스
		switch (menu) {

		case 1:
			System.out.println("잔돈 : " + (money - 700) + "원");
			break;

		case 2:
			System.out.println("잔돈 : " + (money - 1000) + "원");
			break;

		case 3:
			System.out.println("잔돈 : " + (money - 500) + "원");
			break;

		default:
			System.out.println("메뉴가 아닙니다.");
			break;
		}

		// 3. 복합대입연산자

		switch (menu) {

		case 1:
			money -= 700;
			break;

		case 2:
			money -= 1000;
			break;
			

		case 3:
			money -= 500;
			break;

		default:
			System.out.println("메뉴가 아닙니다.");
			break;

		}

		System.out.println("잔돈 : " + money + "원");

	}

}

Step 2

package 자판기프로그램;

import java.util.Scanner;

public class ex01자판기_1 {

	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);

		System.out.println("금액을 입력하세요.");

		int money = sc.nextInt();
		int temp = money; // 원래 입력한 금액을 보관하는 임의의 변수 3번에서 사용

		System.out.println("메뉴를 고르세요.");
		System.out.print("1.아우터(700원) 2.이구동성(1000원) 3.에그몽(500원) >> ");

		int menu = sc.nextInt();

		// 1, if문
		if (menu == 1) {
			if (money - 700 < 0) {
				System.out.println("돈이 부족해요 ㅠㅠ");
				System.out.println("잔돈 : " + money + "원");
			} else {
				System.out.println("잔돈 : " + (money - 700) + "원");

			}
		}

		if (menu == 2) {
			if (money - 1000 < 0) {
				System.out.println("돈이 부족해요 ㅠㅠ");
				System.out.println("잔돈 : " + money + "원");
			} else {
				System.out.println("잔돈 : " + (money - 1000) + "원");
			}
		}

		if (menu == 3) {
			if (money - 500 < 0) {
				System.out.println("돈이 부족해요 ㅠㅠ");
				System.out.println("잔돈 : " + money + "원");
			} else {
				System.out.println("잔돈 : " + (money - 500) + "원");
			}
		}

		// 2. switch case형

		switch (menu) {

		case 1:
			if (money - 700 < 0) {
				System.out.println("돈이 부족해요 ㅠㅠ");
				System.out.println("잔돈 : " + (money) + "원");
			} else {
				System.out.println("잔돈 : " + (money - 700) + "원");
			}
			break;

		case 2:
			if (money - 1000 < 0) {
				System.out.println("돈이 부족해요 ㅠㅠ");
				System.out.println("잔돈 : " + (money) + "원");
			} else {
				System.out.println("잔돈 : " + (money - 1000) + "원");
			}
			break;

		case 3:
			if (money - 500 < 0) {
				System.out.println("돈이 부족해요ㅠㅠ");
				System.out.println("잔돈 : " + (money) + "원");
			} else {
				System.out.println("잔돈 : " + (money - 500) + "원");
			}
			break;

		default:
			System.out.println("메뉴가 아닙니다.");
			break;
		}

		// 3. 복합대입연산자

		switch (menu) {

		case 1:
			money -= 700;
			break;

		case 2:
			money -= 1000;
			break;

		case 3:
			money -= 500;
			break;

		default:
			System.out.println("메뉴가 아닙니다.");
			break;

		}

		if (money < 0) {
			System.out.println("돈이 부족해요ㅠㅠ");
			money = temp; // 다시 초기에 입력한 금액으로 되돌려주는 코드
		}

		System.out.println("잔돈 : " + (money) + "원");

	}
}

Step 3

1. switch-case 문

package 자판기프로그램;

import java.util.Scanner;

public class ex01자판기_2 {

	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);

		System.out.println("금액을 입력하세요.");

		int money = sc.nextInt();
		int temp = money; 
		
		System.out.println("메뉴를 고르세요.");
		System.out.print("1.아우터(700원) 2.이구동성(1000원) 3.에그몽(500원) >> ");

		int menu = sc.nextInt();

		switch (menu) {

		case 1:
			money -= 700;
			break;

		case 2:
			money -= 1000;
			break;

		case 3:
			money -= 500;
			break;

		default:
			System.out.println("메뉴가 아닙니다.");
			break;

		}

		if (money < 0) {
			System.out.println("돈이 부족해요ㅠㅠ");
		}

		System.out.println("잔돈 : " + (money) + "원");
		System.out.print("천원 : " + money / 1000 + "개, ");
		System.out.print("오백원 : " + (money % 1000) / 500 + "개, ");
		System.out.print("백원 : " + ((money % 1000) % 500 / 100) + "개");
										// == money%500/100
	}
}

2. 다중 if문

package 자판기;

import java.util.Scanner;

public class ex01자판기프로그램 {

	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);

		System.out.println("금액을 입력하세요.");
		int money = sc.nextInt();
		int change = 0;

		System.out.println("메뉴를 고르세요.");
		System.out.print("1. 아우터(700원) 2. 이구동성(1000원) 3. 에그몽(500원) >> ");
		int choice = sc.nextInt();

		if (choice == 1) {

			change = money - 700;

			if (change >= 0) {


			} else {

				System.out.println("돈이 부족해요 ㅠㅠ");
				change = money;
				
			}

		} else if (choice == 2) {

			change = money - 1000;

			if (change >= 0) {


			} else {

				System.out.println("돈이 부족해요 ㅠㅠ");
				change = money;
			}

		} else {

			change = money - 500;

			if (change >= 0) {


			} else {

				System.out.println("돈이 부족해요 ㅠㅠ");
				change = money;
			}

		}
		
		System.out.println("잔돈 : " + change + "원");
		
		System.out.print("천원 : " + (change/1000) +"개 " );
		System.out.print("오백원 : " + (change%1000/500) +"개 " );
		System.out.print("백원 : " + (change%500/100) +"개" );
		

	}

}

 

 

저작자표시 (새창열림)

'Java > Java' 카테고리의 다른 글

[Java] while문 예제 로그인 프로그램/계산기 프로그램/ 플러스게임  (0) 2022.08.02
[Java] 반복문 while/do-while  (0) 2022.07.28
[Java] 제어문/ 조건문  (0) 2022.07.24
[Java] 입출력문과 연산자  (0) 2022.07.23
[Java] java 자료형  (0) 2022.07.23
    원쥬
    원쥬
    Git : https://github.com/wonjuju/

    티스토리툴바