java - 如何以任意顺序将输入分配给程序?

标签 java

我的代码中有四个输入,我想要做的是以我选择的任何顺序将它们输入到控制台中。

所以我可以输入:

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/

相关文章:

java - Java 中的交互式 map 查看器桌面应用程序

java - 如何使用默认构造函数和 setter 生成 pojo

java - GWT 2.7 资源是通过 ClassLoader 找到的。它应该通过 .gwt.xml 中的 <source/> 或 <resource/> 条目进行注册

java - 如何静默编译Java文件除非出现错误?

java - 哪些 Java 集合(和映射)可以按上次访问排序

java - sikuli 1.0.2 文档和 ScreenRegion

java - 我可以对注释本身使用 BeanValidation 吗?

java - Android 设备选择器中的序列号/名称

java - "key==this"的情况可能吗?

java - 离线解析 HTML