gpt4 book ai didi

java - 将空格分隔的整数字符串解析为经过过滤的整数数组

转载 作者:行者123 更新时间:2023-12-02 01:40:42 25 4
gpt4 key购买 nike

我读入了一个带有数字列表的字符串。然后我创建了一个长度为 3 的数组。我的问题是如何将字符串中的数字放入数组中(如果数字多于或少于 3 个 > 11 就可以了)。

我尝试按顺序遍历字符串并将值放入输出数组中,但这没有用。我还尝试将输出数组设置为字符串数组,但这也被证明是不正确的。

    public int[] findNums(String line)
{
int[] array = new int[3];
list = line;
String[] parts = array.split(" ");
int index = 0;
for(int spot=0; spot<parts.length();spot++)
{
if(parts[spot] > 11)
{
array[index] = spot;
index++;
}
}
return array;
}

这是我的方法,据您所知,我有一个循环遍历字符串和 if 语句来检查数字的值。可能有一些语法错误(提前抱歉)我是 Java 数组的新手。这是我引入的 DAT 文件的示例。

-99 1 2 3 4 5 6 7 8 9 10 12345
10 9 8 7 6 5 4 3 2 1 -99
10 20 30 40 50 -11818 40 30 21 10
32767
250 19 17 15 13 11 10 9 6 3 2 1 -455
255 255

新数组的输出应该是

[12345,0,0]

因为只有一个数字大于 11。

这是第一行的输出,但 DAT 文件中所有行的格式相同。

有人可以告诉我应该如何修复我的方法吗?

最佳答案

这是一个很好的解决方案:

public int[] getNumsFromString (String text) {
String[] individNums = text.split(" ");
int[] nums = new int[3];

int counter = 0;

for (int i = 0; i < individNums.length; i++) {
int currentValue = Integer.parseInt(individNums[i]);
if (currentValue > 11 && counter < 3) {
nums[counter++] = currentValue;
}
}
return nums;
}

希望有帮助!

关于java - 将空格分隔的整数字符串解析为经过过滤的整数数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54468283/

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