[JAVA] 배열

heubanufi·2024년 1월 5일

JAVA

목록 보기
3/10

값 교환하기 기초

// 변수값 서로 교환하기
		int a = 100;
		int b = 200;
		System.out.println("교환 전 a:" + a);
		System.out.println("교환 전 b:" + b);
		System.out.println("---------");
		
		// a와 b의 값을 교환하기
		int temp = 0;
		temp = a;
		a = b;
		b = temp;
		
		System.out.println("교환 후 a:" + a);
		System.out.println("교환 후 b:" + b);

배열의 데이터 갯수와 관계없이 데이터를 뒤집는 로직 작성
교환 전: 100, 200, 300, 400, 500 ,600
교환 후: 600, 500, 400, 300, 200, 100


nums = new int[] {100, 200, 300, 400, 500, 600};
		System.out.println("nums: " + Arrays.toString(nums));
		for(int i = 0; i < nums.length; i++) {
				tmp = nums[i];
				nums[i] = nums[nums.length - (i+1)];
				nums[nums.length - (i+1)] = tmp;
                
				printArray(nums);	
			
		}
        
        static void printArray(int[] arr) {
		for(int i=0; i <arr.length; i++) {
			System.out.print(arr[i] + " ");
		}
		System.out.println();
	}

데이터 수만큼 작동하는 것이 아닌 데이터 수의 절반만 작동해야 데이터가 정상적으로 뒤집어져서 출력됨

수정한 부분

for(int i = 0; i < nums.length/2; i++)

모든 코드

nums = new int[] {100, 200, 300, 400, 500, 600};
		System.out.println("nums: " + Arrays.toString(nums));
		for(int i = 0; i < nums.length/2; i++) {
				tmp = nums[i];
				nums[i] = nums[nums.length - (i+1)];
				nums[nums.length - (i+1)] = tmp;
				printArray(nums);		
		}
        
        static void printArray(int[] arr) {
		for(int i=0; i <arr.length; i++) {
			System.out.print(arr[i] + " ");
		}
		System.out.println();
	}

로또 번호 추출하기
1부터 45까지의 숫자를 배열에 넣어서, 섞은 후, 배열 앞 6개 수 출력하기


		int[] balls = new int[45];
		for(int i=0; i<balls.length; i++) {
			balls[i] = i+1;
		}
        
		int temp = 0;
		int random = (int)(Math.random()*45);
		for(int i = 0; i < 45 ; i++) {
			temp = balls[i];
			balls[i] = balls[random];
			balls[random] = temp;
			random = (int)(Math.random()*45);
			printArray(balls);

		}
		//System.out.println("랜덤변수값: " + random);
		
		for(int i = 0; i <= 6 ; i++) {
			System.out.println("추출한 숫자: " + balls[i]);
		}


	}
	
	static void printArray(int[] arr) {
		for(int i=0; i <arr.length; i++) {
			System.out.print(arr[i] + " ");
		}
		System.out.println();
	}

0개의 댓글