gpt4 book ai didi

java - 如何创建一个一旦调用就不能再次调用的 Java 函数,除非有一些延迟?

转载 作者:太空宇宙 更新时间:2023-11-03 11:30:15 25 4
gpt4 key购买 nike

我正在尝试创建一个只能在两次调用之间有一定时间延迟(比如 5 秒)后才能再次调用的函数。

我正在创建的 Android 应用程序需要此功能。由于用户可能会在几秒钟内过于频繁地调用该功能,这会破坏他的体验。因此,我正在拼命寻找这个问题的答案。

public void doSomethin(){
//code here which makes sure that this function has not been called twice within the specified delay of 5 seconds
//Some code here
}

任何帮助都会很棒!编辑

最佳答案

您可以保持以毫秒为单位的时间,并检查当前时间是否大于或等于前一个时间 + 5 秒。如果是,则执行该方法并将之前的时间替换为当前时间。

参见 System.currentTimeMillis()

public class FiveSeconds {
private static Scanner scanner = new Scanner(System.in);
private static long lastTime = 0;

public static void main(String[] args) {
String input = scanner.nextLine();

while(!input.equalsIgnoreCase("quit")){
if(isValidAction()){
System.out.println(input);
lastTime = System.currentTimeMillis();
} else {
System.out.println("You are not allowed to do this yet");
}

input = scanner.nextLine();
}
}

private static boolean isValidAction(){
return(System.currentTimeMillis() > (lastTime + 5000));
}
}

关于java - 如何创建一个一旦调用就不能再次调用的 Java 函数,除非有一些延迟?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15360659/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com