gpt4 book ai didi

java - 在一个字符串中分配多个变量 - Java

转载 作者:行者123 更新时间:2023-12-01 18:36:58 25 4
gpt4 key购买 nike

如何从一行字符串中为多个变量赋值。例如。

String time = sc.next(); // the amount of time to delay from shutdown
String timeframe = sc.next(); // time frame : seconds, minutes, ect

如果这是一个关闭代码,并且用户输入“10 分钟”,我将如何将变量 10 分配给一个整数(当然在我解析它之后),并使用时间范围(以及一些数学) )来创建关闭延迟。

该程序这一部分的最终目标是让用户能够输入一个干净的命令“shutdown 10 mins”,并让 Windows 安排从现在起 10 分钟后关闭。

目前,用户必须执行以下操作:“关机”[ENTER]“10”[ENTER]“分钟”[ENTER]。

程序的其余部分都很好,只是这给了我不规则的问题。

类的完整代码:

public void Start() {
Scanner sc = new Scanner(System.in);
int xtime = 0;
boolean goodTime = false, goodTimeFrame = false;

String time = sc.next();
String timeframe = sc.next();

try {
xtime = Integer.parseInt(time);

if(xtime<0) { System.out.println("time cannot be less than 0..."); }
else if(xtime>=0) { goodTime = true; }
} catch(Exception e){ System.out.println("invalid input..."); }

try {
switch(timeframe.toLowerCase()) {
case "secs":
xtime = xtime*1000;
goodTimeFrame = true;
break;
case "mins":
xtime = xtime*60000;
goodTimeFrame = true;
break;
case "hrs":
xtime = xtime*3600000;
goodTimeFrame = true;
break;
default:
System.out.println("invalid timeframe, use: secs, mins, or hrs...");
break;
}
} catch(Exception e){ System.out.println("cannot convert to valid time..."); }

if(goodTime && goodTimeFrame) {
try {
Runtime.getRuntime().exec("Elevate.exe shutdown -s -t "+xtime);
} catch(Exception e){ System.out.println("error ordering shutdown command..."); }
}
else { System.out.println("syntex example : shutdown time timeframe"
+ "\nshutdown 10 mins"); }
}

最佳答案

使用 Java 时,Javadoc 是您的第一引用。 String 有许多方法来提取所包含的数据。 String.split()是你的 friend 吗:

String line = "shutdown 10 mins";
String[] split = line.split("\\s+"); // Split the String on one or more spaces
String cmd = split[0];
String time = split[1];
String timeframe = split[2];

关于java - 在一个字符串中分配多个变量 - Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21561183/

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