2013년 9월 3일 화요일

[오라클자바커뮤니티자바강좌,구로디지털자바강좌]자바최대값을 구하는 알고리즘(1)

방법1 : 충분히 작은 값을 최대값으로 정하고 하나씩 비교한다.


1, 2, 6, 8, 3 이라는 숫자들이 있다고 가정하면 ...

max = -99999 라고 가정후

하나씩 max변수와 비교루 max보다 크면 그수를 max로 하고
아닌경우 그대로 두는 알고리즘이다. 일반적으로 많이 사용된다.

이방법을 이용하여 숫자를 콤마로 구분한 문자열을 BufferedReader를 이용하여 표준입력으로 받아들여 StringTokenizer를 이용해 Parsing, 배열에 담은후 최대값을 구하는 프로그램은 다음과 같다.
(입력문자열의 Delimeter는 콤마(,)이다.)

import java.io.*;
import java.util.*;
class Max1 {
public static void main(String[] args) throws IOException {
int max = -2147483648;
int[] array = new int[20];
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("콤마(,)로 구분하여 숫자들을 입력하세요...");
String digits = br.readLine();
StringTokenizer st = new StringTokenizer(digits, ",");
for(int i=0; st.hasMoreElements(); i++) {
array[i] = Integer.parseInt(st.nextToken());
}

for(int i=0; i < array.length; i++) {
if (array[i] > max) {
max = array[i];
}
}
System.out.println("최대값은 : " + max);         
}
}

댓글 없음:

댓글 쓰기