오름/내림 판단을 삼항연산식을 사용 ->
boolean 을 사용하여 updown 값을 false로 넣고
true일경우 오름, 나머지 false로 코딩됨
출력은 msg로 오름/내림 따로 셋팅하여 수정이 용이하게 함.
Scanner sc = new Scanner(System.in);
int number[] = null;
int count;
boolean updown = false;
// 정렬할 갯수?
System.out.print("정렬할 갯수는 = ");
count = sc.nextInt();
// 1보다 커야 함
// 정렬할 숫자를 동적할당
number = new int[count];
// 정렬할 숫자를 입력
for (int i = 0; i < number.length; i++) {
System.out.print((i + 1) + "번째 수 = ");
number[i] = sc.nextInt();
}
// 오름(1)/내림(2)
System.out.print("오름(1)/내림(2) = ");
int ud = sc.nextInt();
updown = (ud == 1)?true:false;
// 정렬
int temp;
for (int i = 0; i < number.length - 1; i++) {
for (int j = i + 1; j < number.length; j++) {
if(updown) { // 오름
if(number[i] > number[j]) {
temp = number[i];
number[i] = number[j];
number[j] = temp;
}
}else { // 내림
if(number[i] < number[j]) {
temp = number[i];
number[i] = number[j];
number[j] = temp;
}
}
}
}
// 결과
String msg = "";
if(updown) msg = "오름";
else msg = "내림";
System.out.println(msg + "차순으로 정렬하였으며,");
for (int i = 0; i < number.length; i++) {
System.out.println(i + ":" + number[i]);
}
'JAVA > 기초 프로그래밍' 카테고리의 다른 글
fibonnaci 피보나치 수열 (0) | 2020.05.26 |
---|---|
2차원 배열을 - 1차원 배열에 대입하기 (0) | 2020.05.26 |
숫자를 입력받아 오름/내림 정렬하는 프로그램(내꺼) (0) | 2020.05.26 |
10진수, 2진수, 16진수간의 변환 프로그램 (0) | 2020.05.26 |
대문자 -> 소문자변환 프로그램/ ASCII (0) | 2020.05.26 |