java - 在java中解析字符串数组

标签 java arrays string parsing double

sNums = scanString.nextLine();    
String[] num = sNums.split(" ");    
for (int i = 0; i < num.length; ++i)    
{    
    numbers = new double[i+1];     
    numbers[i] = Double.valueOf(num[i]);    
}    
for(double item: numbers)    
    out.print(item + " ");

我正在尝试将我拥有的数字字符串(在本例中为“num”)更改为 double 组。我很确定这应该有效,但出于某种原因,它会将“0.0”存储到除最后一个元素之外的每个输入元素中。例如,如果我输入“1 5 7 90 52[enter]”,输出应该是“1.0 5.0 7.0...etc”,但我得到的是“0.0 0.0 0.0 0.0 52.0”

最佳答案

您遇到的问题是您在循环中创建了一个新数组。你应该把它拿出来初始化。

  String[] num = sNums.split(" ");    
  double[] numbers = new double[num.length];   // The valid place for loop

  for (int i = 0; i < num.length; ++i)    
  {    
    numbers[i] = Double.valueOf(num[i]);    
  }    

  for(double item: numbers)  {
    out.print(item + " "); 
  }

关于java - 在java中解析字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20044373/

相关文章:

java - 为什么我的图片不显示? ( java )

java - 在 Windows 8.1 下将 VisualVM 连接到在 OpenJDK 10 上运行的程序不起作用

在 foreach 循环中使用 array_combine 时 PHP 内存耗尽

java - contains() 方法不适用于 java 中的 Arrays.asList

arrays - 在python中将stdin行转换为 "float/int"数组的更简单方法

java - 升级到 Spring Boot 2.4.2 后,现有的 Flyway 迁移验证失败

java - 将日期插入日期时间类型列

arrays - 在一系列值发生变化的地方分割 Smalltalk 数组的惯用方法是什么?

c# - 通过列表和数组中的索引获取结构项

c - 编辑字符串(字符数组)复制到输入字符串(scanf 或 fgets.. gets)可能吗?