gpt4 book ai didi

java - 为什么数组中有多余的值?

转载 作者:行者123 更新时间:2023-12-01 17:50:52 24 4
gpt4 key购买 nike

我的代码在这里:

import java.util.Arrays;

public class Q1102 {
public static void main(String[] args) {
String temp = "1 3 5 7 6";
int[] array1 = new int[temp.length()];
for (int i = 0; i < temp.length(); i += 2) {
int mounth = Integer.parseInt(String.valueOf(temp.charAt(i)));
array1[i] = mounth;
}
System.out.println(Arrays.toString(array1));
}
}

出于某种奇怪的原因,程序输出如下:

[1, 0, 3, 0, 5, 0, 7, 0, 6]

有人可以告诉我为什么会发生这种情况,以及如何删除多余的零吗?

我已经打印了输入数组的值,并且没有任何多余的零。

最佳答案

您使用的字符转换方式仅适用于单位数字,它在很多方面都很脆弱。相反,请在空格上拆分 String,然后解析这些标记。就像,

String temp = "1 3 5 7 6";
String[] tokens = temp.split("\\s+");
int[] array1 = new int[tokens.length];
for (int i = 0; i < tokens.length; i++) {
array1[i] = Integer.parseInt(tokens[i]);
}
System.out.println(Arrays.toString(array1));

输出(正如我认为你所期望的那样)

[1, 3, 5, 7, 6]

关于java - 为什么数组中有多余的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50322191/

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