: 숫자의 크기 순으로 정렬하는 방법
- 낮은 숫자부터 정렬 -> 오름차순
- 높은 숫자부터 정렬 -> 내림차순
Scanner sc = new Scanner(System.in);
int number[] = null;
int count;
int updown;
// 함수의 초기화
count = 0;
updown = 0;
// 정렬하고 싶은 숫자의 갯수
System.out.print("정렬하고 싶은 수의 갯수 =");
count = sc.nextInt();
// 배열에 그 갯수에 맞게 할당
number = new int[count];
// 숫자들을 입력
for(int i = 0; i < count; i++) {
System.out.print((i + 1) + "번째 수 = ");
number[i] = sc.nextInt();
}
// 오름(1)/내림(2)
System.out.print("오름(1)/내림(2) = ");
updown = sc.nextInt();
int temp;
for(int i = 0; i < number.length - 1; i++) {
for(int j = i + 1; j < number.length; j++) {
if(updown == 1) { // 오름
if(number[i] > number[j]) {
swap(number, i, j);
}
} else { // 내림
if(number[i] < number[j]) {
swap(number, i, j);
}
}
}
}
if(updown == 1) {
System.out.println("오름차순정렬입니다");
} else {
System.out.println("내림차순정렬입니다");
}
for(int i = 0; i < number.length; i++) {
System.out.println("number["+i+"] = " + number[i]);
}
// function
static void swap(int number[], int i, int j) {
int temp;
temp = number[i];
number[i] = number[j];
number[j] = temp;
}
// console
/*
정렬하고 싶은 수의 갯수 = 5
1번째 수 = 20
2번째 수 = 2
3번째 수 = 86
4번째 수 = 47
5번째 수 = 3
오름(1)/내림(2) = 1
오름차순정렬입니다
number[0] = 2
number[1] = 3
number[2] = 20
number[3] = 47
number[4] = 86
*/
함수명은 같고 매개변수(parameter)의 갯수나 자료형이 다른 함수를 의미한다
이름만 같은 다른 함수, parameter로 구분
예시
func();
func('A');
func(0);
func('B', 2);
func(55, 'G');
// function
static void func() {
System.out.println("func() 호출");
}
static void func(char c) {
System.out.println("func(char c) 호출");
}
static void func(int i) {
System.out.println("func(int i) 호출");
}
static void func(char c, int i) {
System.out.println("func(char c, int i) 호출");
}
static void func(int i, char c) {
System.out.println("func(int i, char c) 호출");
}
// 안되는 경우
static void func(char cc, int ii) { // -> 인수만으로 구분이 안된다
System.out.println("func(char cc, int ii) 호출");
}
static int func() { // -> 리턴값으로 구분할 수 없다
System.out.println("func() 호출");
}
// 가변인수
static int sum(int...number) { // -> 배열처럼 사용됨
int s = 0;
for(int i = 0; i < number.length; i++) {
s += number[i];
}
return s;
}
// console
/*
func() 호출
func(char c) 호출
func(int i) 호출
func(char c, int i) 호출
func(int i, char c) 호출
*/