我的代码中有四个输入,我想要做的是以我选择的任何顺序将它们输入到控制台中。
所以我可以输入:
t = 20,d = 100,T = 500,D = 100
或
d = 100,t = 20,D = 100,T = 500
因此,无论顺序如何,只要我输入 "t = Something"、 "d = Something"、 T = "something"和 D = "something",它就会将正确的整数值分配给变量。
这是我到目前为止所拥有的:
int t = 键盘.nextInt(); int d = 键盘.nextInt(); int D = 键盘.nextInt(); int T = 键盘.nextInt();
我该如何实现这个目标?
最佳答案
我首先遵循 OldProgrammer 的建议并将该行作为单个字符串读取。您可以使用 split()
和 substring()
方法解析字符串:
String input = keyboard.nextLine();
// Per your example, would be something like "t=20,d=100,T=500,D=100"
int t = 0, d = 0, T = 0, D = 0;
String[] inputArray = input.split(","); // Splits the input string at each comma & returns an array
for(String s : inputArray) {
if(s.startsWith("t"))
t = Integer.parseInt(s.substring(2));
else if(s.startsWith("d"))
d = Integer.parseInt(s.substring(2));
else if(s.startsWith("T"))
T = Integer.parseInt(s.substring(2));
else if(s.startsWith("D"))
D = Integer.parseInt(s.substring(2));
}
关于java - 如何以任意顺序将输入分配给程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57897033/