【发布时间】:2014-03-03 02:11:34
【问题描述】:
我必须在命令行中循环一个字符串,例如 (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 + "]");
}
}
}
}
Input 中的第一个单词会很好地打印出来。然后在那之后我要么得到一个无限循环,要么我将被抛出一个索引数组越界异常。例外是指 for 循环中的 if 语句。
【问题讨论】:
标签: java string for-loop command-line-arguments