2013-03-27 5 views
1

가장 큰 숫자를 계산하고 표시하는 방법은 무엇입니까?가장 큰 번호를 찾는 방법

import java.util.Scanner; 

public class GreatestNumber { 

    public static void main(String[] args) { 
    int [] num = new int [10]; 
    int counter; 
    int max = 0; 

    Scanner read = new Scanner(System.in); 

    for (int i=0; i<num.length; i++) 
    { 
     System.out.print("Enter StaffID to be edited:"); 
     num[i]=read.nextInt(); 
    } 
    } 
} 
+0

코드를 올바르게 포맷하고 질문을 Java로 태그하십시오. –

+0

이진 검색 사용 – apomene

+2

@apomene 이진 검색은 정렬 된 배열 내에서 값의 위치를 ​​찾습니다. 그것은 OP가하려고하는 것이 아닙니다. –

답변

4

아마도 숫자를 읽는 동안 비교하고 싶을 것입니다. 또한 0max의 시작 값으로 사용하면 모든 입력 값이 음수이면 원하는 결과가 인쇄되지 않습니다. 대신 Integer.MAX_VALUE를 사용

int [] num = new int [10]; 
int counter; 
int max = Integer.MIN_VALUE; // use 

Scanner read = new Scanner(System.in); 

for (int i=0; i<num.length; i++) 
{ 
    System.out.print("Enter StaffID to be edited:"); 
    num[i]=read.nextInt(); 
    if (num[i] > max) 
    { 
     max = num[i]; 
    } 
} 

System.out.print("Max number is:"); 
System.out.print(max); 
+0

최대 숫자가 음수이면 최대 수를 'num [0]'으로 설정하는 것이 좋습니다. – Maroun

+0

@MarounMaroun이 이미 업데이트했습니다. –

+0

입니다. 'Integer.MIN_VALUE'이 (가)'int.MIN_VALUE'가 아닙니다. – Sanchit

1

이 당신이 그것을 할 수있는 방법은 다음과 같습니다

  1. 당신이 가장 많은 후이기 때문에, 매우 작은 값을 갖는 정수를 만들 수 있습니다.

  2. 배열 요소를 반복합니다. 현재보고있는 요소가 현재 가장 큰 요소 (1 단계에서 초기화 됨)보다 큰 경우 가장 큰 요소의 값을 업데이트하십시오.

0

킵 현재 최대의 트랙과 더 높은 번호를 찾을 경우 업데이트, 즉

if (num[i] > max) 
    max = num[i]; 
0

는 실행 변수 maxInteger.MIN_VALUE에 설정합니다. 배열의 모든 요소와 루프에서 비교하고 배열 요소가 더 크면 해당 값을 max에 복사합니다. 결국 max에서 가장 큰 요소가 있습니다.

3

다른 사용자가 제공 한 솔루션 옆에 배열에서 List을 만든 다음 목록에서 최대 값을 찾는 기존 방법을 사용할 수 있습니다.

List list = Arrays.asList(ArrayUtils.toObject(num)); 
System.out.println(Collections.max(list)); //Will print the maximum value 
관련 문제