Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中,每次调用都能返回不同的值吗?_Java_Return_Call - Fatal编程技术网

在java中,每次调用都能返回不同的值吗?

在java中,每次调用都能返回不同的值吗?,java,return,call,Java,Return,Call,如果我希望一个方法在每次调用该方法时重复返回三个不同的值(而不将这些值作为参数传递),是否可能? 例如 对方法的第一次调用返回3 第二次呼叫返回6 第三次呼叫返回5 然后这种模式又重复了。我们如何才能做到这一点呢?你的问题有点不清楚……但根据你的问题,这可能行得通?这只是下面的一个例子: public int ex; public int test(){ if(ex == 1){ return 1; } if(ex == 2){ retur

如果我希望一个方法在每次调用该方法时重复返回三个不同的值(而不将这些值作为参数传递),是否可能? 例如 对方法的第一次调用返回3 第二次呼叫返回6 第三次呼叫返回5
然后这种模式又重复了。我们如何才能做到这一点呢?

你的问题有点不清楚……但根据你的问题,这可能行得通?这只是下面的一个例子:

public int ex;
public int test(){
    if(ex == 1){
        return 1;
    }
    if(ex == 2){
        return 2;
    }
    // and so on
}
然后当您调用它时,您可以通过执行以下操作将ex更改为某物:ex=(value)


除此之外,没有其他方法可以让它在每次调用它时做一些不同的事情,我知道如果您使用静态字段来执行此任务,它会做得更好: 例如,在您的类中:

private static int myindex=0; //should start at 0
private static int[] myres={3,6,5};
public int method(){ //also static?
    int res = myres[myindex];
    myindex++;
    if(myindex>=myres.length)myindex=0; 
    return res;
}

是的,假设该方法可以访问某种类型的实例字段,该字段可以跟踪调用该方法的次数