所以,假设我有一个带有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方法开始。
答案 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 ++而不需要额外的类)