将while循环中的值传递给不同的类

时间:2015-08-10 22:04:21

标签: java while-loop parameter-passing

所以,假设我有一个带有while循环的主类:

public class Main {

public static void main(String[] args) throws InterruptedException {
    int one = 1;

    int counter = 0;

    while (one<100){
        Thread.sleep(1000);
        counter += 1;

        Function.Move();

        one++;
    }

此循环中的计数器变量计算每秒经过的时间。

有一个名为Function的单独的类:

public class Function {

public static int Move (int result){

result = 1 + counter;
return result;      
}

}

正如您所看到的,在Function类的Move方法中,我希望能够使用计数器变量的新值,该值随着每秒的增加而增加,以计算不同变量的值,然后将其返回到主要方法。

问题是我无法弄清楚如何将函数的值传递给Function类中的Move方法开始。

1 个答案:

答案 0 :(得分:1)

如果我理解你想要正确做什么的话,我并不感到害羞,具体取决于你将在什么时候需要结果变量,我认为你的结果应该是这样的:

public class Main {

    int counter;

    public static void main(String[] args) throws InterruptedException {
        int one = 1;

        counter = 0;

        while (one<100){
            Thread.sleep(1000);
            counter += 1;

            one++;
        }
    }

    public int getCounter() {
        return counter;
    }
}

public class Function {

    public static int move (int result, Main main){

        result = 1 + main.getCounter();      
        return result;
    }
}

您现在可以在Programm中的任何需要的地方使用Function.move()。

请注意,您需要使用Function.move()在不同的Thread中作为主线程运行代码。否则它将始终返回101或1,因为while循环将始终在调用Function.move()之前或之后运行,具体取决于您调用它的位置(除非您在while循环中调用它,但是然后您counld只使用counter ++而不需要额外的类)