Java 如何返回此方法的下一个for循环项?
我正在处理这个方法,正如您所看到的,我有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 {
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();
}