一个oops来制作空间子字符串

时间:2013-10-22 17:39:11

标签: java space

我希望有一个程序,它接受一个字符串,在空格处分割它,并打印最小子字符串的长度。

我写了这个,但它只打印第一个字符串的长度。我的问题是什么?

Scanner input = new Scanner(System.in);
        String inp = input.nextLine();
        int counter = 0;
        String[]helper =new String[inp.length()];
        int minlength = Integer.MAX_VALUE;
        for (int i = 0; i < inp.length(); i++) 
        {
            if (inp.charAt(i) != ' ')
            {
                counter++;
                continue;
            }
            minlength = Math.min(counter, minlength);
            counter = 0;
        }
        System.out.println(minlength);

1 个答案:

答案 0 :(得分:0)

使用。split方法按空格分割字符串。

String[] stringArray = input.split("\\s+");

通常你可以这样做:

String[] stringArray = input.split(" ");

但是这个消息来源解释了为什么第一个选项更好:How do I split a string with any whitespace chars as delimiters?

获得String[] stringArray之后,您可以遍历它并找到最小的长度。

int minlength = Integer.MAX_VALUE;
for(int i = 0; i < stringArray.length; i++){
    if(stringArray[i].length() < minlength){
        minlength = stringArray[i].length();
    }
}
System.out.println(minlength);