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

相关问题