1. CLASS
import java.util.Scanner;
public class test_004 {
private static Scanner sc;
public static void main(String args[]) {
sc = new Scanner(System.in);
String innum;
int min = 0;
int max = 0;
System.out.print("숫자를 입력 : ");
innum = sc.nextLine();
int num[] = new int[innum.length()];
for (int i = 0; i < innum.length(); i++) {
char no = innum.charAt(i); // 입력받은 3자리 문자열을 1자리씩 쪼갭니다.
// char -> int 로 변경하면 아스키코드 값으로 바뀌기 때문에 48을 빼서 숫자를 맞춰줍니다.
num[i] = no-48;
if (i == 0){
min = num[i]; // for 1회전때는 무조건 첫번째 숫자를 min에 넣습니다.
System.out.println("i가 " + i + " 일때 min의 값은 : " + min);
}
if (num[i] > max){ // for 1회전 이상일때 max 의 값과 비교해서 크면 max 에 값을 넣습니다.
max = num[i];
System.out.println("num[" + i + "] 이 " + num[i] + " 일때, max 보다 크므로 max의 값은 : " + max);
}
if (num[i] < min){ // for가 2회전 이상일때 min 의 값과 비교해서 작으면 min 에 값을 넣습니다.
min = num[i];
System.out.println("num[" + i + "] 이 " + num[i] + " 일때, min 보다 크므로 min의 값은 : " + min);
}
}
System.out.println("최대 :" + max);
System.out.println("최소 :" + min);
}
}
2. RUN
ex1)
숫자를 입력 : 947
최대 :9
최소 :4
ex2)
숫자를 입력 : 947
i가 0 일때 min의 값은 : 9
num[0] 이 9 일때, max 보다 크므로 max의 값은 : 9
num[1] 이 4 일때, min 보다 크므로 min의 값은 : 4
최대 :9
최소 :4
ex3)
숫자를 입력 : 123456789
i가 0 일때 min의 값은 : 1
num[0] 이 1 일때, max 보다 크므로 max의 값은 : 1
num[1] 이 2 일때, max 보다 크므로 max의 값은 : 2
num[2] 이 3 일때, max 보다 크므로 max의 값은 : 3
num[3] 이 4 일때, max 보다 크므로 max의 값은 : 4
num[4] 이 5 일때, max 보다 크므로 max의 값은 : 5
num[5] 이 6 일때, max 보다 크므로 max의 값은 : 6
num[6] 이 7 일때, max 보다 크므로 max의 값은 : 7
num[7] 이 8 일때, max 보다 크므로 max의 값은 : 8
num[8] 이 9 일때, max 보다 크므로 max의 값은 : 9
최대 :9
최소 :1
'course > 지식인' 카테고리의 다른 글
[자바] Scanner sc 에서 sc 의 개념과 기타 기본 개념. (0) | 2016.01.05 |
---|---|
[자바] 1~100 중 10개 숫자를 랜덤 생성한 후 짝수만 골라내기 (0) | 2016.01.01 |
[자바] random 을 쓰지 않고 최소조건으로 1~100 사이의 숫자 찾기 (0) | 2016.01.01 |