[TIL] 20240302

Xtraa·2024년 3월 2일
0

TIL

목록 보기
38/99

공부한 내용

1. Java 복습

  • 메서드

Argument(인수)

  • 인수라는 용어는 ‘인’과 ‘수’의 합성어로, ‘들어가는 수’라는 의미를 가진다. 즉, 메서드 내부로 들어가는 을 의미한다. 인자도 같은 의미이다.

method signature(메서드 시그니처)

메서드 시그니처 = 메서드 이름 + 매개변수 타입(순서)

메서드 이름이 같아도 메서드 시그니처가 다르면 다른 메서드로 간주한다.


문제

상품 관리 프로그램 만들기

import java.util.Scanner;

public class ProductAdminEx {

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

        int maxProducts = 10;
        String[] productNames = new String[maxProducts];
        int[] productPrices = new int[maxProducts];
        int productCount = 0;

        while (true) {
            System.out.println("1. 상품 등록\t|\t2. 상품 목록\t|\t3. 종료");
            System.out.print("메뉴를 선택하세요: ");
            int menus = sc.nextInt();
            sc.nextLine();

            if (menus == 1) {
                if (productCount == 10) {
                    System.out.println("더 이상 상품을 등록할 수 없습니다.");
                    continue;
                }
                System.out.print("상품 이름을 입력하세요: ");
                productNames[productCount] = sc.nextLine();

                System.out.print("상품 가격을 입력하세요: ");
                productPrices[productCount] = sc.nextInt();
                productCount++;
            } else if (menus == 2) {
                if (productCount == 10) {
                    System.out.println("등록된 상품이 없습니다.");
                    continue;
                }
                for (int i = 0; i < productCount; i++) {
                    System.out.println(productNames[i] + ": " + productPrices[i] + "원");
                }
            } else if (menus == 3) {
                System.out.println("프로그램을 종료합니다.");
                break;
            } else {
                System.out.println("잘못된 메뉴를 선택하셨습니다.");
            }
        }

    }
}

처음 완성을 했을 때, 상품 이름을 입력하지 않았는데 넘어가는 문제가 있었음.

System.out.print("메뉴를 선택하세요: ");
            int menus = sc.nextInt();
            sc.nextLine();

해당 부분에 sc.nextLine();을 넣어주지 않아서 메뉴를 입력하고 \n이 넘어가면서 문제가 됐던 것

머리로는 알고 있었지만 코드를 짜면서 간과하고 넘어감.. (영한님도 틀림ㅋㅋ)


하루를 돌아보며, TMI

김영한의 자바 입문 완강!


참고자료

  • 김영한의 자바 입문
profile
https://xtraa.notion.site/Xtraa-ed48ac432d354d01b5bf5b0da5ec94a9?pvs=4

0개의 댓글