查找字符串中数字序列的最小数量

时间:2018-01-30 06:04:12

标签: java string

我很困惑如何分隔字符串中的数字序列,这些数字由空格分隔并找到它们中的最小值(例如" 4 3 2 1"。)我有分离的想法使用扫描仪并解析它们的值,但我不知道如何使用它们是一个字符串。请帮忙!谢谢!

4 个答案:

答案 0 :(得分:2)

  1. 在空格上拆分字符串(即String#split()
  2. 将数组传递给流
  3. 使用Stream#mapToInt()Integer#parseInt然后IntStream#min()查找最低值
  4. 例如

    final String s = "4 3 2 1";
    final int min = Arrays.stream(s.split(" "))
        .mapToInt(Integer::parseInt)
        .min()
        .getAsInt();
    

答案 1 :(得分:1)

//hope this helps

public static void main(String[] args){
    String s = "9 3 4 5 7 3 8 9 3 1";
   //split on space
    String[] arr = s.split(" ");

    int result = Integer.parseInt(arr[0]), temp;
    for(int i = 1; i<arr.length; i++) {
                temp = Integer.parseInt(arr[i]);
    //store lowest in result
        if(result>temp)
            if(temp<result) {
                result = temp;
            }
    }

//print result
System.out.println(result);

}

答案 2 :(得分:0)

对于拆分您可以使用的字符串(例如):

String str = "4 3 2 1";
String[] splited = str.split("\\s+");

对于数组“splited”中的个别数字,您可以使用

int Num = Integer.parseInt(splited[INDEX]);

或者您可以在IF循环的条件下直接使用Integer.parseInt(Splited[INDEX])

int min=Integer.parseInt(splited[0]);
for(int i=1;i<splited.length;i++){
  if(min > Integer.parseInt(splited[i])){
     min = Integer.parseInt(splited[i]);
  }
}

答案 3 :(得分:-1)

每种数据类型都有解析器。在您的情况下,您需要将字符串解析为int,所以

Integer.parseInt(str);

这是javadoc