2013-12-22 6 views
-4

문자열에 몇 개의 숫자가 있다고 말합니다. String line = "564 33 654 8321 15"; 이제이 문자열에서 가장 큰 숫자를 찾고 싶습니다. 실험실 나에게 getLargest() 메소드의 알고리즘 도움을 제공 :문자열에서 가장 큰 숫자를 반환하는 방법 Java

largest = really small number; 
while(there are more number to check) 

{num= get current number 
if(num > largest) 
largest=num 
} 

누군가가이 "getLargest"방법을 수행하는 방법을 파악하는 데 도움이 수 있습니까?

+0

의사 코드가 아닌 당신이 시도한 것과 왜 효과가 없는지를 보여줄 수 있습니까? –

+0

여기 peeskillet에 동의합니다. 당신은 이미 의사 코드를 가지고 있습니다 (이것은 아주 좋은 출발입니다). 실제로 코드에 넣지 않은 경우에는 문자열에서 숫자를 추출하는 것과 같이 한 번에 한 단계 씩 시작하십시오. 프로그램을 작고 다루기 쉬운 조각으로 나눌 수 있다는 것은 매우 중요한 기술입니다. 그래서 많은 사람들이 해결책을 게시하지 않았습니다. 중요한 경험을 훔칠 것입니다. –

+0

문자열의 각 번호에 어떻게 액세스 할 수 있는지 알고 싶습니다. –

답변

3

힌트 :

  • 분할 부분으로 문자열; 예 : String.split(...)에 대해 Javadocs을 읽어보십시오.

  • 문자열을 정수로 변환합니다. 예 : Integer.parseInt(...)에 대해 Javadocs을 읽습니다.

  • 나머지는 루프와 간단한 논리입니다.

이러한 힌트를 이해하는 데 문제가 있으면 '의견'을 사용하십시오.

은 (난 당신이 자신을 작업을 수행하여 더 배울 생각하기 때문에 당신에게 예제 코드를 제공하지 않을거야.)

+0

String.split 대신 StringTokenizer를 사용할 수 있습니다 – MultiplyByZer0

+1

@MistressDavid'StringTokenizer'에 대한 javadoc에서 언급했듯이'.split()'을 사용하는 것이 선호되는 방법이고 새로운 코드에서'StringTokenizer'를 사용하는 것은 낙담했다. 그것은 유산입니다. –

1

을 당신이 당신의 숙제 사람들에 의해 이루어지고로부터 아무것도 배울 것이라는 점을 기억하십시오 온라인. 당신은 그것으로부터 무언가를 배우고 다음 번에 스스로를 시도 할 것입니다. 솔루션에 주석을 포함 시켰습니다.

public static void main(String[] args) { 

    //The line is a String, and the numbers must be parsed to integers 
    String line = "564 33 654 8321 15"; 

    //We split the line at each space, so we can separate each number 
    String[] array = line.split("\\s+"); 

    //Integer.MIN_VALUE will give you the smallest number an integer can have, 
    //and you can use this to check against. 
    int largestInt = Integer.MIN_VALUE; 

    //We iterate over each of the separated numbers (they are still Strings) 
    for (String numberAsString : array) { 

     //Integer.parseInt will parse a number to integer from a String 
     //You will get a NumberFormatException if the String can not be parsed 
     int number = Integer.parseInt(numberAsString); 

     //Check if the parsed number is greater than the largestInt variable 
     //If it is, set the largestInt variable to the number parsed 
     if (number > largestInt) { 
      largestInt = number; 
     } 
    } 

    //We are done with the loop, and can now print out the largest number. 
    System.out.println(largestInt); 
} 
+1

1) 학생들을 게으르게 유도하지 마십시오. 2) OP가 솔루션을 복사하지 않더라도 javadocs를 찾고 솔루션에서 해결하는 학습 과정을 거칠 필요가 없습니다. –

+0

Duly는 잘 지적했다. 내 첫번째 게시물 :) – fictive

관련 문제