문제 - 가장 작은 수, 큰 수 찾기
사용자로부터 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 |