所以我有以下代码。我输入了"string1 : string2 : string3 : string4"
。我期望获得输出"string2"
,但我得到一个超出范围的异常错误。
我想将MasterArray
的第一个元素所包含的字符串与空格结构空间分开,但我不知道在这种情况下你会怎么做。
while(true){
MasterArray[InputNumber] = scan.next();
String parts[] = MasterArray[InputNumber].split(":");
System.out.print(parts[1]);
}
答案 0 :(得分:0)
将scan.next()更改为scan.nextLine()它适用于您。
而(真){ MasterArray [InputNumber] = scan.nextLine();
String parts[] = MasterArray[InputNumber].split(":");
System.out.print(parts[1]);
}
scan.next()将读取直到输入字符串中的第一个间隔符。
答案 1 :(得分:0)
另一种方法是使用 StringTokenizer 。像这样,
inputStr = user.next();
int index = 0;
StringTokenizer tokens = new StringTokenizer(inputStr, ":");
while(tokens.hasMoreTokens()){
if(index == 1){
System.out.println(tokens.nextToken().toString());
break;
}
tokens.nextToken();
index++;
}
这样你就可以获得第二个字符串并避免创建一个你不需要的子字符串数组。