[퀴즈 풀기] 2.

SOYUN JEON·2024년 11월 19일

학습 과정

목록 보기
19/20

목록에서 [함수표현식]이라고 올린 부문을 활용하여 이전에 올린 퀴즈 문제를 응용해서 풀어보기

다음 세 가지 중 고르시오.
1. 감자. 2.옥수수 3. 수박
1번을 누를 시
1번 감자를 선택하셨습니다. 라는 문구가 나오도록.
2번을 누를 시
2번 옥수수를 선택하셨습니다.
3번을 누를 시,
3번 수박을 선택하셨습니다.
그 뒤 1번 감자에서 1000원어치, 2000원어치 3000원어치.
2번을 누를 시 옥수수에서 4000원어치, 5000원어치 6000원어치,
3번을 누를 시 수박에서 10000원어치, 20000원어치, 30000원어치.
라는 문구가 각각 나오도록 설정하고,
그 안에서 또 1번을 누를 시
“감자 1000어치를 선택하셨습니다.” 라는 문구가 나오도록 하고,
몇 개를 주문하겠냐고 질문한 뒤 그 개수에 따라 금액이 변동하도록 하시오.

이전에 올린 문제와 문제는 동일하다.

public static void main(String[] args) {

int num = foodSelect();
        System.out.println("num = " + num);
    }

    public static int foodSelect () {
        Scanner sc = new Scanner(System.in);
        System.out.println("1.감자 2.옥수수 3.수박 4.호박");
        int select = sc.nextInt();

        if (select == 1) {
            return foodPriceSelect("감자", 1000, 2000, 3000);
        }
        if (select == 2) {
            return foodPriceSelect("옥수수", 4000, 5000, 6000);
        }
        if (select == 3) {
            return foodPriceSelect("수박", 10000, 20000, 30000);
        }
        if (select == 4) {
            return foodPriceSelect("호박", 1500, 15000, 3500);
        }
        return 0;
    }

    public static int foodPriceSelect (String food,int price1, int price2, int price3){
        Scanner sc = new Scanner(System.in);
        System.out.println("1." + price1 + " 2." + price2 + " 3." + price3);
        int select = sc.nextInt();
        if (select == 1) {
            return foodNumberSelect(food, price1);
        }
        if (select == 2) {
            return foodNumberSelect(food, price2);
        }
        if (select == 3) {
            return foodNumberSelect(food, price3);
        }
        return 0;
    }

    public static int foodNumberSelect (String food,int price){
        Scanner sc = new Scanner(System.in);
        int number = sc.nextInt();
        return number * price;
        }

문제에서는 1.감자 2.옥수수 3.수박이 끝이지만 해당 코드로 뒤에 무수히 더 많은 리스트를 붙여도 문제가 없다는 것을 확인하고자 나는 4.호박 까지 하나 더 코드를 만들어 붙여서 작성했다.

함수표현식을 공부하고 난 후 문제의 난이도가 조금씩 어렵게 느껴지는것 같다.

고작 같은 문제를 조금 더 응용하여 풀어 나가는 것이지만 아직 나에게는 조금 더디고 어려운것 같은 느낌이 든다.

하지만 계속해서 반복해서 풀어가는 것, 그것만이 답이라고 생각해본다.

profile
안녕하세요.

0개의 댓글