首页 > 解决方案 > 如何以任意顺序将输入分配给程序?

问题描述

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

所以我可以输入:

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 = keyboard.nextInt(); int d = keyboard.nextInt(); int D = keyboard.nextInt(); int T = keyboard.nextInt();

我将如何做到这一点?

标签: java

解决方案


我会首先遵循 OldProgrammer 的建议,并将该行作为单个字符串读取。split()您可以使用andsubstring() 方法解析字符串:

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));
}

推荐阅读