2013-12-22 106 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

提示:

  • 拆分串入部分;例如請閱讀JavadocsString.split(...)

  • 將字符串轉換爲整數;例如請閱讀JavadocsInteger.parseInt(...)

  • 其餘的是一個循環和一些簡單的邏輯。

如果您在理解這些提示時遇到問題,請使用'comment'。

(我不會給你的示例代碼,因爲我認爲你會自己做的工作了解更多信息。)

+0

您可以使用StringTokenizer而不是String.split – 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沒有複製你的解決方案,他/她也不必經過查找javadoc的學習過程,併爲他/她自己找出解決方案。 –

+0

正式指出,你說得很好。我的第一篇文章:) – fictive

相關問題