gpt4 book ai didi

java - 如何根据值的动态条目拆分字符串数组?

转载 作者:太空宇宙 更新时间:2023-11-04 07:11:29 25 4
gpt4 key购买 nike

我正在尝试拆分现在存储在 String[] args 中的字符串数组(从控制台获取的输入)

host 9 7 1 router 5 8 11 lan 1 5 2 9

现在 args 接收值并将它们存储为

args[0] = "host",
args[1] = "9",
args[2] = "7"
等等等等。

字符串“host”、“router”和“lan”后面的值是动态生成的,即值的数量可以更改

例如另一个实例可以是

host 0 4 3 9 router 4 9 2 lan 1 3 4 7

对于上面提到的示例,我想创建一个

String[] hosts将存储 0,4,3,9
String[] routers将存储 4,9,2
String[] lans将存储 1,3,4,7

我该怎么做?

最佳答案

public static void main(String[] args) {

String in = "host 0 4 3 9 router 4 9 2 lan 1 3 4 7";

List<String> storage = Arrays.asList(in.split(" "));

boolean isHost = false;
boolean isRouter = false;
boolean isLan = false;

List<String> hostList = new ArrayList<String>();
List<String> routerList = new ArrayList<String>();
List<String> lanList = new ArrayList<String>();

for(String val : storage){
if("host".equals(val)){
isHost = true;
continue;
}
else if("router".equals(val)){
isRouter = true;
isHost = false;
continue;
}
else if("lan".equals(val)){
isHost = false;
isRouter = false;
isLan = true;
continue;
}

if(isHost){
hostList.add(val);
}
else if(isRouter){
routerList.add(val);
}
else if(isLan){
lanList.add(val);
}
}

System.out.print("Host: "); System.out.println(hostList);
System.out.print("Router: "); System.out.println(routerList);
System.out.print("Lan: "); System.out.println(lanList);

}

输出:

Host: [9, 7, 1]
Router: [5, 8, 11]
Lan: [1, 5, 2, 9]

关于java - 如何根据值的动态条目拆分字符串数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20587342/

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