Java 如何返回此方法的下一个for循环项?

Java 如何返回此方法的下一个for循环项?,java,Java,我正在处理这个方法,正如您所看到的,我有for循环,但我想做的是每次调用这个方法时返回下一项(下一个名称)。但对于最后一个返回语句,我不确定该放什么 到目前为止,我有: public String getChosenInputFileNames() { setNames(); for (int i = 0; i < names.size(); i++) { if (i == 0) { return String.valueOf(i); } else {

我正在处理这个方法,正如您所看到的,我有for循环,但我想做的是每次调用这个方法时返回下一项(下一个名称)。但对于最后一个返回语句,我不确定该放什么

到目前为止,我有:

public String getChosenInputFileNames() {

setNames();

for (int i = 0; i < names.size(); i++) {

    if (i == 0) {
        return String.valueOf(i);
    } else {
        return String.valueOf(i + 1);
    }
}
return null;
公共字符串getChosenInputFileNames(){
setNames();
对于(int i=0;i
}


基本上,我希望每次都返回下一个arrayList项,在这里我调用这个方法。任何帮助都将不胜感激

您的方法当前所做的是每次调用时返回
“0”
,这与您预期的行为相去甚远

您在这里尝试执行的操作已经存在于标准库中。它被称为
迭代器
,特别是
迭代器.next()

下面是一个使用
迭代器的示例

// names contains "Tom", "Dick", "Harry"
Iterator<String> iterator = names.iterator();
System.out.println(iterator.next());
System.out.println(iterator.next());
System.out.println(iterator.next());

/*
Output:
Tom
Dick
Harry
*/

不需要后续的return语句,您可以保留String的值,然后从最后一个return语句返回

public String getChosenInputFileNames() {

String name ="";

for (int i = 0; i < names.size(); i++) 
{
    if(your condtion)
    {
       name = names.get(i);
       break;
    }  
}
return name;
}
公共字符串getChosenInputFileNames(){
字符串名称=”;
对于(int i=0;i
使用数组列表实现/填充队列,并在每次调用该方法时进行
轮询()。。。因此,您不需要处理集合中的任何索引(队列将为您这样做,如果您错误地尝试超出该大小,则将返回null)

示例:(如果你真的不需要,请不要使用静电)

静态队列myQueue=newlinkedlist();
公共静态void main(字符串[]args){
myQueue.add(“2”);
myQueue.add(“4”);
myQueue.add(“6”);
myQueue.add(“8”);
添加(“10”);
对于(int i=0;i<7;i++){
System.out.println(getChosenInputFileNames());
}
}
公共静态字符串getChosenInputFileNames(){
返回myQueue.poll();
}

什么是类型的名称??名称是字符串类型的arraylist
public String getChosenInputFileNames() {

String name ="";

for (int i = 0; i < names.size(); i++) 
{
    if(your condtion)
    {
       name = names.get(i);
       break;
    }  
}
return name;
}
static Queue<String> myQueue = new LinkedList<>();
public static void main(String[] args) {
    myQueue.add("2");
    myQueue.add("4");
    myQueue.add("6");
    myQueue.add("8");
    myQueue.add("10");
    for (int i = 0; i < 7; i++) {
        System.out.println(getChosenInputFileNames());
    }
}

public static String getChosenInputFileNames() {
    return myQueue.poll();
}