2013년 8월 13일 화요일

[오라클자바community, 자바교육잘하는곳]JAVA 최대값을 구하는 알고리즘

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

오라클자바커뮤니티에서 설립한 오엔제이프로그래밍 실무교육센터
(신입사원채용무료교육, 오라클SQL, 튜닝, 힌트,자바프레임워크, 안드로이드, 아이폰, 닷넷)  
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);         
}
}

댓글 없음:

댓글 쓰기