我必須在命令行中循環一個字符串,例如(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()'。只需在 –