일기 대신 코드 슬쩍

[JAVA] Section8) Problems2 본문

JAVA

[JAVA] Section8) Problems2

코코자 2024. 3. 17. 20:35

문제 - 가장 작은 수, 큰 수 찾기

사용자로부터 n개의 정수를 입력받아 배열에 저장한 후, 배열 내에서 가장 작은 수와 가장 큰 수를 찾아 출력하는 프로그램을 작성하자. 실행 결과 예시를 참고하자

문제 풀이

package array;
import java.util.Scanner;

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

        System.out.print("입력받을 숫자의 개수를 입력하세요: ");
        int amount = scanner.nextInt(); //amount: 입력받을 숫자의 개수
        int[] numbers =  new int[amount]; //배열 생성

        System.out.println(amount + "개의 정수를 입력하세요: ");
        for (int i = 0; i < numbers.length ;i++) {
            numbers[i] = scanner.nextInt();
        }

        int min = numbers[0];
        int max = numbers[0];
        for (int i = 1; i < numbers.length; i++) {
            if (numbers[i] < min) {
                min = numbers[i];
            }
            if (numbers[i] > max) {
                max = numbers[i];
            }
        }
        System.out.println("가장 작은 정수: " + min);
        System.out.println("가장 큰 정수: " + max);

    }
        }

실행 결과

입력받을 숫자의 개수를 입력하세요: 3
3개의 정수를 입력하세요: 
1
2
5
가장 작은 정수: 1
가장 큰 정수: 5

문제 - 2차원 배열1

사용자로부터 4명 학생의 국어, 수학, 영어 점수를 입력받아 각 학생의 총점과 평균을 계산하는 프로그램을 작성하자. 2차원 배열을 사용하고, 실행 결과 예시를 참고하자.

문제 풀이

package array;
import java.util.Scanner;

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

        int[][] students = new int[4][3]; //2차원 배열 생성
        String[] subjects = {"국어", "영어", "수학"};
        int[] sum = new int[4];

        for (int i = 0; i < students.length; i++) {
            System.out.println((i + 1) + "번 학생의 성적을 입력하세요: ");
            for (int j = 0; j < subjects.length; j++) {
                System.out.print(subjects[j] + "점수: ");
                students[i][j] = scanner.nextInt();
                sum[i] += students[i][j];
            }
        }
        for (int i = 0; i < students.length; i++) {
            System.out.println((i + 1) + "번 학생의 총점: " + sum[i] + ", 평균: " + (double) sum[i] / 3);
        }
    }
}

실행 결과

1번 학생의 성적을 입력하세요: 
국어점수: 100
영어점수: 80
수학점수: 70
2번 학생의 성적을 입력하세요: 
국어점수: 30
영어점수: 40
수학점수: 50
3번 학생의 성적을 입력하세요: 
국어점수: 60
영어점수: 70
수학점수: 50
4번 학생의 성적을 입력하세요: 
국어점수: 90
영어점수: 100
수학점수: 80
1번 학생의 총점: 250, 평균: 83.33333333333333
2번 학생의 총점: 120, 평균: 40.0
3번 학생의 총점: 180, 평균: 60.0
4번 학생의 총점: 270, 평균: 90.0

상품 관리 프로그램 만들기

자바를 이용하여 상품 관리 프로그램을 만들어 보자. 이 프로그램은 다음의 기능이 필요하다:

  • 상품 등록: 상품 이름과 가격을 입력받아 저장한다.
  • 상품 목록: 지금까지 등록한 모든 상품의 목록을 출력한다.

다음과 같이 동작해야 한다:

  • 첫 화면에서 사용자에게 세 가지 선택을 제시한다: "1. 상품 등록", "2. 상품 목록", "3. 종료"
  • "1. 상품 등록"을 선택하면, 사용자로부터 상품 이름과 가격을 입력받아 배열에 저장한다.
  • "2. 상품 목록"을 선택하면, 배열에 저장된 모든 상품을 출력한다.
  • "3. 종료"를 선택하면 프로그램을 종료한다.

제약 조건

상품은 최대 10개까지 등록할 수 있다.

다음은 사용해야 하는 변수 및 구조이다:

  • Scanner scanner : 사용자 입력을 받기 위한 Scanner 객체
  • String[] productNames : 상품 이름을 저장할 String 배열
  • int[] productPrices : 상품 가격을 저장할 int 배열
  • int productCount : 현재 등록된 상품의 개수를 저장할 int 변수

문제 풀이

package array;
import java.util.Scanner;

public class ArrayEx9 {
    public static void main(String[] args) {
        Scanner scanner = 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. 상품 등록 | 2. 상품 목록 | 3. 결제");
            System.out.print("메뉴를 선택하세요: ");
            int menu = scanner.nextInt();
            if (menu == 1) {
                if (productCount >= maxProducts) {
                    System.out.println("더 이상 상품을 등록할 수 없습니다.");
                }
                System.out.print("상품 이름을 입력하세요:");
                productNames[productCount] = scanner.nextLine();
                System.out.print("상품 가격을 입력하세요:");
                productPrices[productCount] = scanner.nextInt();
                productCount += 1;

            } else if (menu == 2) {
                if (productCount == 0) {
                    System.out.println("등록된 상품이 없습니다.");
                    continue;
                }
                for (int i = 0; i < productCount; i++){
                    System.out.println(productNames[i] +": " + productPrices[i] +"원" );
                }
            } else if (menu == 3) {
                System.out.println("프로그램을 종료합니다.");
                break;

            }
        }
    }
}

'JAVA' 카테고리의 다른 글

[JAVA] Section9) Problems  (0) 2024.04.03
[JAVA] Section9) 메서드  (0) 2024.04.03
[JAVA] Section8) Problems1  (0) 2024.03.17
[JAVA] Section8) 배열  (0) 2024.03.17
[JAVA] Section7) Problems4  (0) 2024.03.12