JAVA/코드

JAVA의 메소드 유형

record2080 2025. 2. 2. 02:37
mport java.util.Random;
import java.util.Scanner;

public class Mmethod {

   // 1. 사용자로부터 숫자 개수 입력 받는 함수 //3유형 output(반환값 있어서) 사용자의 입력을 받고 
   public static int getNumber() {
      Scanner scanner = new Scanner(System.in);
      int n;
      while (true) { // 사용자가 올바른 숫자를 입력할때까지 계속 물어보기
         System.out.print("정렬할 숫자의 개수를 입력하세요 (3 이상, 10 이하): ");
         n = scanner.nextInt(); //입력받을 숫자 저장 => n 
         if (3<= n && n <= 10) {
            break;  // 숫자가 3 이상, 10이하를 입력하면 while문을 빠져나감
         }
         System.out.println("숫자는 3 이상 10 이하 합니다. 다시 입력해주세요.");
         // 만약 그렇지않으면 "다시 입력해주세요" 문구를 출력
      }
      return n;  // 입력 받은 값을 반환
   }

   // 2. 1부터 100 사이의 랜덤 숫자 생성하는 함수 //4유형 Input   Output
   public static int[] randomArray(int size) {     //size라는 매개변수를 받으므로 input이 존재
      Random random = new Random();
      int[] arr = new int[size];   //여러 숫자를 저장할 arr 변수를 선언하고, size만큼의 공간을 가짐
      for (int i = 0; i < arr.length; i++) { // 배열의  길이
         arr[i] = random.nextInt(100) + 1; // 1부터 100 사이의 랜덤 숫자 생성
      }
      return arr; //만들어진 랜덤 배열 값을 반환
   }

   // 3. 배열 출력 함수
   public static void printArray(int[] arr, String message) { //배열을 출력하고,배열과 함께 출력할 메시지도 받음
      System.out.println(message);
      for (int num : arr) {  // 배열 속 숫자 출력
         System.out.print(num + " "); // 배열의 요소를 출력
      }
      System.out.println(); // 줄 바꿈
   }

   // 4. 선택 정렬 알고리즘 함수
   public static void selectionSort(int[] arr) { //입력을 받고 출력만 하니까
      int n = arr.length;
      // 배열의 첫 번째 값부터 마지막 값까지 반복
      for (int i = 0; i < n - 1; i++) {
         int minIndex = i; // 현재 인덱스를 최소값 인덱스로 설정
         // 현재 인덱스 이후의 배열에서 최소값을 찾기 위한 반복
         for (int j = i + 1; j < n; j++) {
            if (arr[j] < arr[minIndex]) { // 더 작은 값을 찾으면
               minIndex = j; // 최소값 인덱스를 업데이트
            }
         }
         // 최소값이 현재 위치에 있지 않으면 교환
         if (minIndex != i) {
            int temp = arr[minIndex];
            arr[minIndex] = arr[i];
            arr[i] = temp;
         }
      }
   }
   //매개변수가 있다면 Input O
   //반환값이 있다면 Output O
   // 메인 함수
   public static void main(String[] args) {
      // 1. 사용자 입력 받기 -3유형 Output
      int size = getNumber(); // 값에 의한 호출

      // 2. 랜덤 숫자 생성  - 4유형 Input   Output
      int[] arr = randomArray(size); //배열 길이 정하기


      // 3. 생성된 배열 출력 - 2유형 Input
      printArray(arr, "생성된 배열:"); // 입력받은 개수만큼 랜덤 숫자 생성

      // 4. 선택 정렬 알고리즘 실행 - 2유형 Input
      selectionSort(arr);  // 만들어진 랜덤 숫자들을 화면에  보여짐

      // 5. 정렬 완료된 배열 출력 - 2유형 Input
      printArray(arr, "정렬 후 배열:");
   }
}

 

 

 

'JAVA > 코드' 카테고리의 다른 글

자바 -클래스  (0) 2025.02.17
15일차 과제 - UPDOWN게임  (0) 2025.02.06
정렬 - 선택, 버블, 삽입  (0) 2025.01.30
강의 4일차 문제 풀기  (0) 2025.01.30
강의 3일차 문제풀기- 반복문  (0) 2025.01.30