0hi
3hello
3world
而不是
0hi
0hello
0world
(假设:num
永远不会是++
,因为值为0
。)
application.args=hi hello world
public static void main (String[] args){
int num;
num=0;
for (String s:args) {
System.out.println(num+s);
for(num=0;2>=num;num++);
}
}
答案 0 :(得分:1)
如果你想用它打印所有参数和数字,那么修改你的循环
for (String s:args){
System.out.println(num + " " + s);
num++; // don't write this if you want 0 as the number every time
}
修改强> 如果你想知道为什么你的代码中的num增加到3,那么
控件首先来到for(String s: args)
然后它将args的第一个值(0索引处的值)复制到s
然后点击System.out.println(num+s);
,其中num的打印值仍为零,值为s
现在for(num=0;2>=num;num++);
它将增加num直到num ≤= 2
所以在for语句后执行你的num值变为3
然后进行外循环的第二次迭代将args的第二个值复制到s
然后打印num(3)和s,这将重复,直到args中的所有值都不被处理
答案 1 :(得分:0)
尝试此代码,如您所希望的输出:0hi 0hello 0world
int num = 0;
for (String s : args) {
//To get array of words data[0] = "hi", data[1] = "hello", data[2] = "world"
String[] data = s.split(" ");
//Loop through all words
for (String element : data) {
System.out.println(num + element);
}
}