gpt4 book ai didi

java - 如何检查args数组的结尾?

转载 作者:行者123 更新时间:2023-12-01 07:04:11 24 4
gpt4 key购买 nike

我正在 Scala 中编写一个解析器程序,它应该使用“args”读取输入并解析它。我使用并不重要:

   while(!args.isEmpty){ 
if (Files.exists(Paths.get(args(j)))){
Statement=Statement.concat(inputXml)
Statement=Statement.concat(" ")
println(j)
}
else{
Statement=Statement.concat(args(j))
Statement=Statement.concat(" ")
println(j)
}
j=j+1
}

   while(args.length !=0) { 
if (Files.exists(Paths.get(args(j)))){
Statement=Statement.concat(inputXml)
Statement=Statement.concat(" ")
println(j)
}
else{
Statement=Statement.concat(args(j))
Statement=Statement.concat(" ")
println(j)
}
j=j+1
}

该程序给我带来了数组索引越界的运行时异常!发送 2 个值作为输入:

  Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2

我该怎么办?我很困惑!

最佳答案

您的异常(exception):

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2

是因为你没有打破 while 循环; args 参数永远不会改变它的大小,因此你的 while 将永远超过 j 的大小。

也许你可以尝试:

int i = 0
while (i < args.length){
// some code here
i++;
}

for(int i = 0; i < args.length; i++){
// some code here
}

如果你想遍历所有数组

关于java - 如何检查args数组的结尾?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30742841/

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