JAVA

210810_tmp(빈그릇)+순서변경+오름차순

요옫 2021. 8. 10. 10:41

 

(예제)

int a=10,b=20;

System.out.println("a="+a+", b="+b);

 

int tmp=a;  //대입연산자

a=b;

b=tmp;

 

System.out.println("a="+a+", b="+b);

 

//결과

a=10, b=20

a=20, b=10

 

 

--------------------

 

 

(예제)

//배열변수로 순서바꾸기 연습

int[]a= {5,7,2};

 

for(int n:a)

System.out.println(n);

 

System.out.println("0번과 2번 교환후 출력");

int tmp=a[0];

a[0]=a[2];

a[2]=tmp;

for(int n:a)

System.out.println(n);

 

//결과

5

7

2

0번과 2번 교환후 출력

2

7

5

 

 

--------------------

 

 

(예제)

int[]arr= {5,7,8,1,3,4,6,10,11,32};

 

//출력

System.out.println("원데이터");

for(int i=0;i<arr.length;i++)

{

System.out.print(arr[i]+" ");

}

System.out.println();

 

//데이터 거꾸로 변경(나열된 숫자 중 가운데를 기준으로 0번과9번, 1번과8번.. 자리 변경)

for(int i=0;i<arr.length/2;i++)  //절반만 할 거기에 arr.length/2

{

int tmp=arr[i];  //10개일 때, 0번과 9번을 바꾸는 것

arr[i]=arr[arr.length-1-i];//arr.length=10

arr[arr.length-1-i]=tmp;

}

 

//출력

System.out.println("바꾼데이터");

for(int i=0;i<arr.length;i++)

{

System.out.print(arr[i]+" ");

}

 

//오름차순 정렬

//기준데이터는 0부터 끝에서 두번째까지

for(int i=0;i<arr.length-1;i++) //기준데이터는 0부터 끝에서 두번째니까 arr.length-1

{

//비교데이터는 기준다음값인 두번째부터 끝까지

for(int j=i+1;j<arr.length;j++)

{

//tmp

if(arr[i]>arr[j])

{

int tmp=arr[i];

arr[i]=arr[j];

arr[j]=tmp;

}

}

}

 

//출력

System.out.println("\n오름차순 출력");

for(int i=0;i<arr.length;i++)

{

System.out.print(arr[i]+" ");

}

 

//결과

원데이터

5 7 8 1 3 4 6 10 11 32 

바꾼데이터

32 11 10 6 4 3 1 8 7 5 

 

오름차순 출력

1 3 4 5 6 7 8 10 11 32 

 

 

--------------------

 

 

(예제)

//문자열의 오름차순 테스트

String[]data= {"이영주","김도현","홍정환","장의진","전주연","안수현","정선교","김태민","이영경","최재현"};

 

System.out.println("정렬전 출력");

for(int i=0;i<data.length;i++)

{

System.out.print(data[i]+" ");

}

System.out.println();

 

//System.out.println("a".compareTo("b"));  //음수가 오름차순이라 -1출력

 

//오름차순 정렬

for(int i=0;i<data.length-1;i++)

{

for(int j=i+1;j<data.length;j++)

{

if(data[i].compareTo(data[j])>0}  //양수가 나오면 내림차순이 되므로 tmp를 이용하여 바꾼다

{

String tmp=data[i];

data[i]=data[j];

data[j]=tmp;

}

}

}

System.out.println("정렬후 출력");

for(int i=0;i<data.length;i++)

{

System.out.print(data[i]+" ");

}

System.out.println();

 

//결과

정렬전 출력

이영주 김도현 홍정환 장의진 전주연 안수현 정선교 김태민 이영경 최재현 

정렬후 출력

김도현 김태민 안수현 이영경 이영주 장의진 전주연 정선교 최재현 홍정환 

 

 

--------------------

 

 

(예제)

 

//오름차순

//이름 바꿀 때 나이도 바꿉니다

//번호 이름 나이

 

String[]names= {"유재석","정형돈","박명수","노홍철","길","하하"};

int[]ages= {45,56,34,21,73,19};

 

for(int i=0;i<names.length-1;i++)

{

for(int j=i+1;j<names.length;j++)

{

if(names[i].compareTo(names[j])>0)

{

String tmp=names[i];

names[i]=names[j];

names[j]=tmp;

}

}

}

 

for(int i=0;i<ages.length-1;i++)

{

for(int j=0;j<ages.length;j++)

{

if(ages[i]>ages[j])

{

int tmp=ages[i];

ages[i]=ages[j];

ages[j]=tmp;

}

}

}

 

System.out.println("번호\t이름\t나이");

for(int i=0;i<names.length;i++)

{

System.out.println(i+1+"\t"+names[i]+"\t"+ages[i]);

}

System.out.println();

 

//결과

번호 이름 나이

1 73

2 노홍철 56

3 박명수 45

4 유재석 34

5 정형돈 19

6 하하 21

 

'JAVA' 카테고리의 다른 글

210810_배열+로또(중복체크)  (0) 2021.08.10
210810_배열+띠구하기  (0) 2021.08.10
210810_배열+등수  (0) 2021.08.10
210809_배열로 숫자찾기  (0) 2021.08.09
210809_String 객체에 따른 멤버메소드 공부  (0) 2021.08.09