我有一个代码,它从用户那里获取名称和编号,并将它们作为对象保存在arraylist中。
我正在使用这个增强的for循环打印输出存储在该arraylist中的所有名称和号码......
for(Objectclass p : Test) {
System.out.println("Name: " + p.getName() + " Number: " + p.getNumber());
}
它的打印方式如名称:等等等等等等等等等等等等等等等等等等等等等等
现在我想在姓名和号码之前添加计数器号码
1.Name:blah blah号码:等等等等
2.Name ...数字
3.Name ...数字 ......我怎么能加上?如果我在这个for循环中使用另一个for循环来添加计数器号...它会一次又一次打印。
答案 0 :(得分:5)
在增强的for循环之外声明一个计数器变量。
int i = 0;
for(Objectclass p : Test) {
System.out.println(++i + ". Name: " + p.getName() + " Number: " + p.getNumber());
}
或者说,你之后没有一个无用的变量,切换回旧的方法。
for(int i = 0; i < Test.size();){
Objectclass p = Test.get(i++);
System.out.println(i + ". Name: " + p.getName() + " Number: " + p.getNumber());
}
答案 1 :(得分:0)
这应该有效:
int i = 0;
for(Objectclass p : Test)
{
i++;
System.out.println(i + ". Name: " + p.getName() + " Number: " + p.getNumber());
}
可悲的是,无法从增强的for循环中提取迭代索引。
答案 2 :(得分:0)
你可能会尝试 -
for(Objectclass p : Test) {
System.out.println("Index: " + Test.indexOf(p+1) + "Name: " + p.getName() + " Number: " + p.getNumber());
}