java - 如何找到字符串中的最大值?

标签 java string max

例如,如果用户要输入“ABZ748FJ9K”作为字符串,我将如何查明该字符串的最大值(在本例中为 9),然后将其输出回用户。

任何非数字字符都应该被忽略。

我尝试做一些 if-else 梯子,但这需要我列出每个数字,而且它的行为方式无论如何都不是我想要的。我知道一定有更好的解决方案。一些帮助将不胜感激。谢谢!

import java.util.Scanner;

public class Question{

public static void main(String args[]){   

   Scanner input = new Scanner(System.in);

   System.out.println("Please enter a string");
      String userInput = input.next();

   int finalMax = max(userInput);

   System.out.println("The maximum value is " + finalMax);


}

public static int max(String s){

int x = s.length();

int y = 0;

   for (int i=0; i < x; i++){

         if (s.charAt(i) == 9){
            y=9;
         }
         else if (s.charAt(i) == 8){
            y=8;
         }
    }

return y;

}


}





    }

最佳答案

试试这个:

public static int max(String s){
    s=s.replaceAll("\\D","");
    int x = s.length();  
    int y = Character.getNumericValue(s.charAt(0));

    for (int i=1; i < x; i++){  
         if (Character.getNumericValue(s.charAt(i)) > y){
            y=Character.getNumericValue(s.charAt(i));
         }
    }    
    return y;   
}

s=s.replaceAll("\\D","") 将通过替换所有非数字来确保字符串中的所有字符都是数字 -digit 字符,带有 ""

关于java - 如何找到字符串中的最大值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22902111/

相关文章:

java - Android 中 SHA1 哈希实现的问题

java - @Async @Aspect @AfterReturnung。我的方法有 HttpServletRequest 对象作为方法参数,但能够访问它我的 aop 方法

objective-c - 如何从 Cocoa 中的 CFStringTokenizer 获取 token 类型?

r - 求每一列的最大值和最小值,然后求每一行的最大值和最小值

python - 对列表中的字典进行排序,以便按从最高到最低的顺序输出分数

树莓派上的 JavaFX : Error loading stock shader

java - Imagebutton 一个在另一个上面不能点击另一个下面的那个 - Scene2d LIBGDX

c++ - 包含多个变量的字符串或函数 (c++)

java - 在Java中将字符串绘制到图像

MySQL 在等式中选择 MAX