我必须在命令行中循环一个字符串,例如(java Lab2“HELLO WORLD”),并使用循环打印出子字符串[HELLO]和[WORLD] 。这是我到目前为止。通过命令行字符串循环打印输出字
public static void main(String argv[])
{
if (argv.length() == 0)
{
System.out.println("Type in string");
}
String Input = argv[0];
String sub;
for (int end = 0; end < Input.length(); end++)
{
end = Input.indexOf(' ');
sub = Input.substring(0, end);
System.out.println("sub = [" + sub + "]");
if(end > 0)
{
int start = end +1;
end = Input.indexOf(' ');
sub = Input.substring(start,end);
System.out.println("sub = [" + sub + "]");
}
}
}
}
输入中的第一个单词将打印出正常。之后,我会得到一个无限循环,否则我会抛出一个索引数组超出范围的异常。异常是指for循环中的if语句。
有没有办法在循环中抛出if语句来打印出最后一个单词? – user3047768
什么?我不明白 –
嗯,当它到达'while'结尾的最后一个单词时,最后一个单词在'lastIndex'中指向'input.length()'。只需在 –