在增强的for循环中添加计数器

时间:2014-09-10 12:31:43

标签: java loops for-loop foreach counter

我有一个代码,它从用户那里获取名称和编号,并将它们作为对象保存在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循环来添加计数器号...它会一次又一次打印。

3 个答案:

答案 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());
}