gpt4 book ai didi

java - 将字符串转换为没有第二个数组的整数数组

转载 作者:行者123 更新时间:2023-11-30 05:53:21 24 4
gpt4 key购买 nike

我有一个字符串作为输入,它是一组数字,它们之间有空格,例如:

"30 129 48 29 110 90"

我想要做的是获取该字符串并将其作为整数输入到数组中,而无需首先使用第二个数组将数字存储为字符串。这是我知道该怎么做:

String line = input.nextLine();
String[] arr = line.split(" ");
int[] array = new int[arr.length];


for (int i = 0; i < arr.length; i++){
array[i] = Integer.parseInt(arr[i]);
}

我不想制作 2 个数组来完成这项工作,而是以某种方式在 for 循环中一次完成它,我只是想要那样,因为它对我来说更好,而且我喜欢编写干净的代码我稍后可以轻松更正。

编辑:在 jogabonito 的回答之后,这就是我设法做到的

Scanner input = new Scanner(System.in);

System.out.printf("Input: ");

StringTokenizer line = new StringTokenizer(input.nextLine());
int[] numbers = new int[line.countTokens()];


for (int i = 0; line.hasMoreTokens(); i++){
numbers[i] = Integer.parseInt((String)line.nextElement());
}

最佳答案

您当前的方法很好,但如果您愿意,您“可以”使用 StringTokenizer 执行此操作.创建一个大小由 countElements() 确定的 int[],然后在 while 循环中执行 Integer.parseInt(tokenizer.nextElement())

测试代码:

    String input = "30 129 48 29 110 90";
StringTokenizer tokenizer = new StringTokenizer(input);
int count = tokenizer.countTokens();
int x[] = new int[count];
int i=0;
while (tokenizer.hasMoreElements()) {
x[i++] = Integer.parseInt((String)tokenizer.nextElement());
}

关于java - 将字符串转换为没有第二个数组的整数数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10634826/

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