Java 停止循环输出
当前,当我输入1时,它输出“待机模式已启用”和“待机模式已禁用”,并每隔5分钟循环输出“待机模式已禁用”。如何在输入1后的5分钟内仅输出一次“待机模式已启用”和一次“待机模式已禁用” 代码如下:Java 停止循环输出,java,eclipse,Java,Eclipse,当前,当我输入1时,它输出“待机模式已启用”和“待机模式已禁用”,并每隔5分钟循环输出“待机模式已禁用”。如何在输入1后的5分钟内仅输出一次“待机模式已启用”和一次“待机模式已禁用” 代码如下: import java.util.Scanner; import java.util.Timer; import java.util.TimerTask; public class StandbyMode { public static void main(String[] args) {
import java.util.Scanner;
import java.util.Timer;
import java.util.TimerTask;
public class StandbyMode {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Standby Mode");
System.out.println("Press 1 for Standby mode");
int selectedOption = scanner.nextInt();
if(selectedOption == 1){
System.out.println("Standby mode is enabled");
}else {
System.out.println("Invalid input");
}
Timer t = new Timer();
t.schedule(new TimerTask() {
@Override
public void run() {
System.out.println("Standby Mode disabled");
}
}, 0, 300000);
scanner.close();
}
}
您可以在启用模式的
if
语句中使用计时器:
if(selectedOption == 1){
Timer t = new Timer();
t.schedule(new TimerTask() {
@Override
public void run() {
System.out.println("Standby mode is enabled.");
}
}, 0, 300000);
} else {
System.out.println("Standby mode is disabled.");
}
注意:在您的定义中,必须在禁用模式和无效输出之间画一条线,这可能类似于:
else if(selectedOption==2) {
System.out.println("Standby mode is disabled.");
} else {
System.out.println("Invalid input");
}
编辑(注释后)::对于交替模式,您可以使用标志在计时器显示的消息之间切换,如下所示:
if (selectedOption == 1) {
Timer t = new Timer();
t.schedule(new TimerTask() {
boolean flag = true;
@Override
public void run() {
if (!flag) {
System.out.println("Standby Mode Disabled");
} else {
System.out.println("Standby Mode Enabled");
}
flag = !flag;
}
}, 0, 3);
} else {
System.out.println("Invalid input");
}
您可以在启用模式的
if
语句中使用计时器:
if(selectedOption == 1){
Timer t = new Timer();
t.schedule(new TimerTask() {
@Override
public void run() {
System.out.println("Standby mode is enabled.");
}
}, 0, 300000);
} else {
System.out.println("Standby mode is disabled.");
}
注意:在您的定义中,必须在禁用模式和无效输出之间画一条线,这可能类似于:
else if(selectedOption==2) {
System.out.println("Standby mode is disabled.");
} else {
System.out.println("Invalid input");
}
编辑(注释后)::对于交替模式,您可以使用标志在计时器显示的消息之间切换,如下所示:
if (selectedOption == 1) {
Timer t = new Timer();
t.schedule(new TimerTask() {
boolean flag = true;
@Override
public void run() {
if (!flag) {
System.out.println("Standby Mode Disabled");
} else {
System.out.println("Standby Mode Enabled");
}
flag = !flag;
}
}, 0, 3);
} else {
System.out.println("Invalid input");
}
它循环“待机模式已启用”和“待机模式已禁用”未被获取output@user8605033您打算在这两者之间交替输出吗?我假设它们是不同的模式。我想同时输出“待机模式已启用”和“待机模式已禁用”(5分钟后)。如果不是我的问题,我道歉clear@user8605033两者同时出现?这很有帮助。非常感谢。是否可以只使其输出一次而不循环?它循环“待机模式已启用”和“待机模式已禁用”未得到响应output@user8605033您打算在这两者之间交替输出吗?我假设它们是不同的模式。我想同时输出“待机模式已启用”和“待机模式已禁用”(5分钟后)。如果不是我的问题,我道歉clear@user8605033两者同时出现?这很有帮助。非常感谢。是否可以只输出一次而不循环?