[JAVA] Scanner로 정보 입력후 '종료'로 프로그램 종료하기.

Yeonbi_Kim·2024년 7월 8일
post-thumbnail
  1. 나이와 이름 입력하기.
  2. "종료"라는 문자를 입력하면 프로그램 종료.
    (그러기 위해선 그 이전엔 계속 나이와 이름을 입력받아야함. )
package scanner_quiz;
import java.util.Scanner;

public class Q1_nameNage {
    public static void main(String[]args){
        Scanner sc = new Scanner(System.in);


        while (true) {
            System.out.print("이름을 입력하세요 ("종료"를 입력하면 종료): ");
            String name = sc.nextLine();

            if (name.equals("종료")){
                System.out.println("프로그램을 종료합니다.");
                break;
            }
            System.out.print("나이를 입력하세요: ");
            int age = sc.nextInt();
            sc.nextLine();

            System.out.println("입력한 이름: "+name+", 나이: "+age);
        }
    }
}

1. Scanner import하기

import java.util.Scanner;

2. public static void main(String[]args) 넣기

3. while(true){'''break'''}넣기

4. while문 안에 '이름'입력창 받기.

System.out.print("이름을 입력하세요 ("종료"입력시 종료) : ")
String name = sc.nextLine();

5. 이름 입력창에 "종료"입력시 프로그램을 종료를 해야 하므로

if문으로 조건 충족 안하면 while문의 break 걸어주기.

추가 : equals 사용하기.

if(name.equals("종료")){
System.out.print("프로그램을 종료합니다.");
break;
}

!! break는 if문 안에 넣는다. !!

6. while문 안에 '나이' 입력 받기.

System.out.print("나이를 입력해주세요");
Int age = sc.nextInt();
sc.nextInt();

!!! 두번째로 나오는'이름'과 나란히 '나이'창을 넣는 것을 방지하기 위해, 'sc.nextInt();'를 넣는다.


추가 문제

scanner_quiz;
import java.util.Scanner;
public class Q2_price {
    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);

        while (true) {
            System.out.print("상품의 가격을 입력하세요(-1을 입력하면 종료): ");
            int price = sc.nextInt();
            if (price == -1){
                System.out.println("프로그램을 종료합니다.");
                break;}
                System.out.print("상품의 수량을 입력하세요 : ");
                int quantity = sc.nextInt();
                sc.nextLine();

                System.out.println("총 비용"+ price*quantity);


        }
    }
}

여기서 내가 틀린점 :
1) if문 안에 '수량'입력창과 '총비용'입력창을 함께 넣음.
2) int total = price * quantity 로 묶는것을 권장.

0개의 댓글