ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 배열을 연습 예제(로또 번호 생성)
    카테고리 없음 2024. 1. 25. 09:40
    // 로또 번호 발생기를 만드세요
    		// 로또 게임 규칙
    		// 1. 총 6개의 랜덤한 정수로 발생시킬 것 > int 형 값을 6 개 담을 수 있는 배열 생성
    		// 2. 정수의 범위는 1 ~ 45 임 > Math.random() 메소드 공식
    		// 3. 절대 중복되는 숫자값이 발생되면 안됨 > 중복 제거 0번째 랜덤값 > 1번째 랜덤값 > 2번째 랜덤값
    		// 4. 최종 뽑힌 6개의 숫자는 작은 숫자에서 큰 숫자 순서로 배치되어야만 함 > 정렬 (sort)
    		// 오름차순 정렬 : 가나다순, abc순, 123순 > Arrays.sort(배열명);
    		// 내림차순 정렬 : 가나다순의 역순, abc순의 역순, 123순의 역순
    		
    		// [x, x, x, x, x, x] 형태로 출력
    public void method12() {
    
    		// 배열 선언
    		int[] arr = new int[6];
    
    		System.out.print("로또번호 : ");
    
    		// 로또번호 6개 생성, 배열에 대입
    		for (int i = 0; i < arr.length; i++) {
    			arr[i] = (int) ((Math.random() * 45) + 1);
    
    			// 로또번호 중복 제거
    			for (int j = 0; j < i; j++) {
    				if (arr[i] == arr[j]) {
    					i--;
    					break;
    
    				}
    
    			}
    
    		}
    		// 배열 오름차순 정렬
    		Arrays.sort(arr);
    		for (int i : arr) {
    
    			System.out.print(i + " ");
    		}
    
    	}

     

     

     

    >문제2


    길이가 10 정수형 배열을 만들고 반복문을 이용하여
    순서대로 배열 인덱스에 넣은 값을 다음과 같이 출력하세요.
    ex.
    1 2 3 4 5 6 7 8 9 10

     

    public void method13() {
    
    		int[] arr = new int[11];
    		for (int i = 1; i < 11; i++) {
    			arr[i] += i;
    
    			System.out.print(arr[i] + " ");
    
    		}
    
    	}

     

     

     

    >문제 3


    길이가 10 정수형 배열을 만들고 반복문을 이용하여
    역순으로 배열 인덱스에 넣은 값을 출력하세요.
    ex.
    10 9 8 7 6 5 4 3 2 1

    public void method14() {
    
    		int[] arr = new int[11];
    
    		for (int i = 10; i > 0; i--) {
    
    			arr[i] = i;
    			System.out.print(arr[i] + " ");
    		}
    	}

     

     

    >문제4


    사용자에게 입력 받은 양의 정수만큼 배열 크기를 할당하고
    1부터 입력 받은 값까지 배열에 초기화한 출력하세요.
    ex.
    양의 정수 : 5
    1 2 3 4 5

    public void method15() {
    
    		Scanner sc = new Scanner(System.in);
    		System.out.print("양의 정수 입력 : ");
    		int num = sc.nextInt();
    		sc.nextLine();
    
    		int arr[] = new int[num + 1];
    
    		for (int i = 1; i <= num; i++) {
    			arr[i] += i;
    
    			System.out.print(arr[i] + " ");
    		}
    
    	}

     

     

    >문제5

     


    길이가 5 String배열을 선언하고 사과”, ““, “포도“, “복숭아”, “참외 초기화
    배열 인덱스를 활용해서 귤을 출력하세요.
    ex.

    public void method16() {
    
    		String[] arr = new String[5];
    
    		arr[0] = "사과";
    		arr[1] = "귤";
    		arr[2] = "포도";
    		arr[3] = "복숭아";
    		arr[4] = "참외";
    
    		System.out.println(arr[1]);
    
    	}

     

     

    >문제6

     

    메소드 : public void practice5(){}
    문자열을 입력 받아 문자 하나하나를 배열에 넣고 검색할 문자가 문자열에 들어가 있는지
    개수와 번째 인덱스에 위치하는지 인덱스를 출력하세요.
    ex.
    문자열 : application
    문자 : i
    application i 존재하는 위치(인덱스) : 4 8
    i 개수 : 2

     

    public void method17() {
    		Scanner sc = new Scanner(System.in);
    
    		System.out.print("문자열을 입력하세요 : ");
    		String str = sc.nextLine();
    
    		System.out.print("문자를 입력하세요 : ");
    		String str2 = sc.nextLine();
    
    		char arr[] = new char[str.length() + 1];
    
    		System.out.print(str + "에" + str2 + "가 존재하는 위치(인덱스) : ");
    		int num = 0;
    		for (int i = 0; i < str.length(); i++) {
    			arr[i] = str.charAt(i);
    
    			if (arr[i] == str2.charAt(0)) {
    				System.out.print(i + " ");
    				num++;
    			}
    
    		}
    		System.out.println();
    		System.out.println(str2 + " 개수" + "=" + num);
    	}

     

     


    >문제7


    “ ~ “” (요일)까지 초기화된 문자열 배열을 만들고 0부터 6까지 숫자를 입력 받아
    입력한 숫자와 같은 인덱스에 있는 요일을 출력하고
    범위에 없는 숫자를 입력 잘못 입력하셨습니다 출력하세요.
    ex.
    0 ~ 6 사이 숫자 입력 : 4 0 ~ 6 사이 숫자 입력 : 7
    금요일                             잘못 입력하셨습니다

     

    public void method18() {
    
    		String[] week = { "월", "화", "수", "목", "금", "토", "일" };
    
    		Scanner sc = new Scanner(System.in);
    
    		System.out.print("0~6사이 숫자 입력 : ");
    		int num = sc.nextInt();
    		sc.nextLine();
    
    		if (num >= 7 || num < 0) {
    			System.out.println("잘못 입력하셨습니다.");
    
    		} else if (0<=num || num<7) {
    			
    			System.out.println(week[num]);
    
    		}
    
    	}

     

     

    >문제8

    사용자가 배열의 길이를 직접 입력하여 값만큼 정수형 배열을 선언 할당하고
    배열의 크기만큼 사용자가 직접 값을 입력하여 각각의 인덱스에 값을 초기화 하세요.
    그리고 배열 전체 값을 나열하고 인덱스에 저장된 값들의 합을 출력하세요.
    ex.
    정수 : 5
    배열 0번째 인덱스에 넣을 : 4
    배열 1번째 인덱스에 넣을 : -4
    배열 2번째 인덱스에 넣을 : 3
    배열 3번째 인덱스에 넣을 : -3
    배열 4번째 인덱스에 넣을 : 2
    4 -4 3 -3 2
    : 2

    public void method19() {
    
    		Scanner sc = new Scanner(System.in);
    
    		System.out.print("정수를 입력하세요 : ");
    		int num = sc.nextInt();
    		int sum =0;
    		sc.nextLine();
    
    		int[] index = new int[num];
    
    		for (int i = 0; i < num; i++) {
    			
    			System.out.print("배열 " + i + "번째 인덱스에 넣을 값 : ");
    			index[i] = sc.nextInt();
    			sc.nextLine();
    			
    			
    			
    		}
    		for (int j = 0; j < num; j++) {
    			System.out.print(index[j] + " ");
    				
    		}
    		for(int s =0; s<num; s++) {
    			sum+=index[s];
    			
    		}
    		System.out.println();
    		System.out.println("총합 : " + sum);
    	}
    
    }

     

     

     

     

     

     

     

    >문제9


    10개의 값을 저장할 있는 정수형 배열을 선언 할당하고
    1~10 사이의 난수를 발생시켜 배열에 초기화한 출력하세요.
    ex.
    9 7 6 2 5 10 7 2 9 6

     

    public void method20() {
    		
    		int[] arr = new int[10];
    		
    		for(int i=0; i<arr.length; i++) {
    			arr[i] = (int) ((Math.random() * 10) + 1);
    			
    			System.out.print(arr[i] + " ");
    		}
    		
    		
    		
    		
    		
    		
    		
    		
    		
    	}

     

     

     

     

    >문제10


    10개의 값을 저장할 있는 정수형 배열을 선언 할당하고
    1~10 사이의 난수를 발생시켜 배열에 초기화
    배열 전체 값과 중에서 최대값과 최소값을 출력하세요.
    ex.
    5 3 2 7 4 8 6 10 9 10
    최대값 : 10
    최소값 : 2

     

    public void method20() {
    
    		int[] arr = new int[10];
    		int max = arr[0];
    		int min = 10;
    
    		for (int i = 0; i < arr.length; i++) {
    			arr[i] = (int) ((Math.random() * 10) + 1);
    			System.out.print(arr[i] + " ");
    
    		}
    		for (int i = 0; i < arr.length; i++) {
    			if (arr[i] > max) {
    				max = arr[i];
    			}
    			if (arr[i] < min) {
    				min = arr[i];
    			}
    		}
    		System.out.println();
    		System.out.println("최댓값 : " + max);
    		System.out.println("최소값 : " + min);
    	}
    
    }

     

     

     

     

     

     

    >문제11

     

    주민등록번호를 String 문자열로 입력 받고 입력 받은 문자열을 인덱스 문자를
    char[] 옮겨 담기 (, 성별 자리 이후부터는 * 담기)
    ex.
    주민등록번호(-포함) : 123456-1234567
    123456-1******

     

     

     

     

     

Designed by Tistory.