코딩항해기

[과제/JAVA] 배열 최댓값·최솟값 구하기, 역순·반복 출력하기 본문

problem solving/과제&실습 코딩

[과제/JAVA] 배열 최댓값·최솟값 구하기, 역순·반복 출력하기

miniBcake 2024. 6. 20. 16:22

package home0620;

public class Homework02 {
//	[문제]
//	5개의 정수들의 최댓값과 최솟값을 구하는 프로그램을 작성하라.
//	거꾸로 출력하기
//	배열 두번 출력하기 [1 2 3] > 1 2 3 1 2 3

	public static void main(String[] args) {

//		1. 최댓값과 최솟값 구하기
		/*
		 * [로직] foreach로 배열 순회하여 
		 * 다음 값이 크다면 max에 저장 작다면 
		 * min에 저장 후 출력
		 */

		int[] array = { 1, 2, 3, 4, 5 };

		String arrayStr = " "; //
		int max = array[0];
		int min = array[0];

		for (int num : array) {
			
			arrayStr += num + " "; //배열 값 저장
			
			if (num > max) { //최댓값 구하기
				max = num;
			}

			if (num < min) { //최솟값 구하기
				min = num;
			}
		}//foreach종료

		System.out.printf("배열{%s}의 최댓값은 %d, 최솟값은 %d입니다.\n", arrayStr, max, min);
		
//		2. 배열 거꾸로 출력하기
		/*
		 * [로직] for문을 통해 배열의 길이부터 시작해 하나씩 수를 줄이며 배열을 훑음
		 * 문자열타입 변수에 누적하여 저장
		 * 출력
		 */
		
		String reverse = "";
		
		for(int i = array.length - 1; i >= 0; i--) {
			reverse += array[i] + " ";
		}
		
		System.out.println("역순 : " + reverse);
		
//		3. 배열 두 번 출력하기
		
		/*
		 * [로직]
		 * 이중 for문을 사용하여 문자열타입의 변수에 값을 누적하여 출력
		 */
		
		String total = "";
		
		for(int i = 0; i < 2; i++) {
			for(int num : array) {
				total += num;
			}
		}
		
		System.out.println("두 번 반복하여 출력 : " + total);

	}
}
[console]
배열{ 1 2 3 4 5 }의 최댓값은 5, 최솟값은 1입니다.
역순 : 5 4 3 2 1
두 번 반복하여 출력 : 1234512345