从字符串中取不同的值,并将其转换为双精度值(Take different values from a

2019-08-22 08:28发布

在我的代码,我要求用户通过一个空格分割输入三个不同的值。 然后,这三个不同的价值观,我想将它们分配给三个不同的变量。

我已经通过分配字符串的第一个字符到我的双变量试过,但我一直没能成功。

有什么建议?

谢谢!

这里是我想要做的事:

int decision = message();
String newDimensions;
double newHeight, newWidth, newLength;

if(decision == 1){
  newDimensions = JOptionPane.showInputDialog("Please enter the desired amount to be added" + 
                                            "\nto each dimension." +
"\nNOTE: First value is for Height, second for Width, third for Length" +
"\nAlso, input information has to have a blank space between each value." +
"\nEXAMPLE: 4 8 9");

newHeight = Double.parseDouble(newDimensions.charAt(0));

Answer 1:

获取输入,由空格分开,并分析每个双人间。 此代码不净化输入。

        String input = "12.4 19.8776 23.3445";
        String[] split = input.split(" ");
        for(String s : split)
        {
            System.out.println(Double.parseDouble(s));
        }


Answer 2:

  1. 从用户接受输入。

  2. 拆分使用分隔符空间即“”那行。

  3. 内部for循环变化使用Double.parseDouble每个索引元件double.By(分裂[I]);



Answer 3:

你可以使用第一拆分输入String.split ,然后使用Double.parseDouble分析每个变量Double.parseDouble他们读入一个双变量。

String[] params = newDimensions.split(" ");
newHeight = Double.parseDouble(params[0]);
newWidth = Double.parseDouble(params[1]);


Answer 4:

双#parseDouble(STR)需要一个字符串,你试图传递一个字符。

试试这个:

newHeight = Double.parseDouble(newDimensions.subString(1));


Answer 5:

尝试是这样的:

newDimensions = JOptionPane.showInputDialog(...

newDimensions = newDimensions.trim();

String arr[] = newDimensions.split(" ");

double darr[] = new double[arr.length];

for(int i=0;i<arr.length;i++) darr[i] = Double.parseDouble(arr[i].trim());

还有,可以采取一些防御性的问题。 您解析双做一个微调是一种至关重要的。



文章来源: Take different values from a String and convert them to Double Values