겉바속촉

temp순서바꾸기 본문

IT일기(하반기)/블록체인

temp순서바꾸기

겉바속촉 2020. 5. 29. 13:50
728x90
반응형

안녕하세요~ 겉바속촉입니다!^^!

이번에는 temp에 대해서 배워볼게요?!

 

순서를 바꾼다고 생각하시면 됩니다

아래와 같이 코드를 작성해주시구요!!

그 다음의 그림을 봐주세요:)

package day0529;

public class ArraySort_08 {
	
	public static void main(String[] args) {
		
		int a = 20, b = 10;
		System.out.println("a="+a+" ,b="+b);
		//순서바꾸기....빈그릇에 해당하는 temp 필요
		int temp = a;
		a=b;
		b=temp;
		System.out.println("a="+a+" ,b="+b);
		
		
	}

}

1. temp라는 빈공간에 a를 넣어줍니다 ---> int temp = a;

2. a가 빠져나왔기 때문에 그곳에 b를 넣어줍니다 ---> a=b;

3. b가 빠져나왔기 때문에 빈공간이 되어버린 그 곳이 바로 temp ---> b = temp;

 

 

컴파일 해보시면 다음과 같은 콘솔창이 보이실 거에요!!

처음 : a = 20, b = 10

temp 후 : a = 10, b = 20

 

 

이번에는 3개짜리 배열을 만들어서 바꿔봅시다.

0번과 2번을 바꿔볼까요?

	//3개의 배열 순서바꾸기
		int []arr= {5,7,2};
		//foreach로 출력
		for(int n:arr) //n에다가 arr를 담는다
		{
			System.out.println(n);
		}
		System.out.println();
		
		System.out.println("0번과 2번을 교환후 출력");
		
		int temp1 = arr[0];
		arr[0]=arr[2];
		arr[2]=temp1;
		
		//순번바꾸어 출력
		for(int n1:arr)
		{
			System.out.println(n1+" ");
		}

순서는 0번을 temp1에 넣고

비어있는 0번에 2번을 넣습니다.

그렇다면 2번이 temp1이 되는 거에요:)

 

 

로또번호

package day0529;

public class LottoRandomSort_10 {
	
	public static void main(String[] args) {
		
		//로또번호 6개 배열생성
		int []lotto = new int[6];
		
		//생성된 로또개수만큼 반복
		for(int i=0;i<lotto.length;i++)
		{
			//1~46번까지의 난수를 발생
			lotto[i] = (int)(Math.random()*45 +1);
			
			//증복체크
			for(int j=0;j<i;j++)
			{
				//조건 은 같은 숫자가 나오면
				if(lotto[i]==lotto[j])
				{
					i--; //같은 번지에 다시 값을 구하기 위해서
					break; //i++로 이동
					
				}
			}
			
		}	
		
		//오름차순정렬
		for(int i=0;i<lotto.length-1;i++)
		{
			for(int j=i+1;j<lotto.length;j++)
			{
				if(lotto[i]>lotto[j])
				{
					int temp=lotto[i];
					lotto[i]=lotto[j];
					lotto[j]=temp;
					
				}
			}
		}
		
		
		for(int i=0;i<lotto.length;i++)
		{
			
			System.out.print(lotto[i] + "\t" );
		
		}
	}

}

 

순서바꾸기 연습

package day0529;

public class ArraySort_09 {
	
	public static void main(String[] args) {
		
		//여러개의 배열의 순서를 정렬하기
		int []arr = {55,7,9,1,11,45,66,88,43};
		System.out.println("원데이터 가로로 출력");
		for(int i=0;i<arr.length;i++)
		{
			System.out.print(arr[i]+"     ");
			
		}
		System.out.println();
		
		System.out.println("데이터 거꾸로 출력하기");
		for(int i=0; i<arr.length/2;i++)
		{
			int temp=arr[i];
			//10개일때 0번과 9번을 바꾸는 것
			arr[i]=arr[arr.length-1-i];
			arr[arr.length-1-i]=temp;
			
		}
		//출력
		for(int i=0; i<arr.length;i++)
		{
			System.out.print(arr[i] + "     ");
			
		}
		System.out.println();
		
		System.out.println("데이터 오름차순 출력하기");
		//기준데이터: 0번부터 끝에서 2번째까지
		for(int i=0;i<arr.length-1;i++)
		{
			//비교하는 데이터는 기준 다음값부터 끝까지
			for(int j=i+1; j<arr.length;j++)
			{
				//조건문
				if(arr[i]>arr[j]) //바꿀조건
				{
					//바꿔주는 공식
					int temp=arr[i];
					arr[i]=arr[j];
					arr[j]=temp;
								
				}
			}
		}
		//출력
		for(int i=0; i<arr.length;i++)
		{
		 System.out.print(arr[i] + "     ");
					
		}
		System.out.println();
				
	}

}

 

728x90
반응형

'IT일기(하반기) > 블록체인' 카테고리의 다른 글

클래스와 인스턴스  (0) 2020.06.01
2차원 배열  (0) 2020.05.29
Array로 search연습하기  (0) 2020.05.29
1차원 배열  (0) 2020.05.29
여러가지 연습예제  (0) 2020.05.28