我的for循环问题.我之前从未使用过这种类型,它不像常规循环那样工作

Fun*_*amb 1 java

我有一个Project类,它包含一个名称和各种其他属性.每次创建一个新项目时,它都会被添加到ArrayList中.

ArrayList<Project> mProject = new ArrayList<Project>();
Run Code Online (Sandbox Code Playgroud)

我将大部分代码放在另一个问题中.我觉得我不应该在那里问它,因为它有一个不同的问题.但是如果你想查看更多代码,请点击此处:

我可以使用我添加到ArrayList的其他类中的方法吗?

这就是我被困住的地方.这是我以前第一次使用这种类型的循环而且我不知道发生了什么.我已经看到教程只是通过这个循环传递"你应该知道这里发生了什么".所以如果你能解释一下这个循环也会很棒.

以及代码:

System.out.println("Select one of the fallowing projects:");    
for (Project proj : mProject){
    int i= 1;
    i++;
    System.out.println( i + ": " + proj.returnName());
}
Run Code Online (Sandbox Code Playgroud)

我的输出是这样的:

选择一个休闲项目:

2:格雷格

2:迈克

看起来它不是通过代码.所以我喜欢这个循环的解释或教程.谢谢.

如果我使用常规循环,我将如何使用mProject arraylist中的方法?

for ( int i = 0; i<= mProject.size() ; i++){
    Project proj = mProject;// This won't compile. 
        if (choice ==  proj.returnName()){                  
        }
}
Run Code Online (Sandbox Code Playgroud)

Ter*_*zki 5

如果将int声明移出循环,它将按照您的预期递增,每次都会重新分配:

   int i= 1; 
    for (Project proj : mProject){
      i++;
      System.out.println( i + ": " + proj.returnName());}
Run Code Online (Sandbox Code Playgroud)

  • 我应该删除这个问题,因为这是一个容易犯的错误吗? (2认同)