Java 从字符串中获取不同的值并将其转换为双值

Java 从字符串中获取不同的值并将其转换为双值,java,arrays,string,double,Java,Arrays,String,Double,在我的代码中,我要求用户输入三个不同的值除以一个空格。 然后,我想将这三个不同的值分配给三个不同的Double变量 我曾尝试将此类字符串的第一个字符分配给我的双变量,但未能成功 有什么建议吗 谢谢大家! 以下是我想做的: int decision = message(); String newDimensions; double newHeight, newWidth, newLength; if(decision == 1){ newDimensions = JOptionPane.sh

在我的代码中,我要求用户输入三个不同的值除以一个空格。 然后,我想将这三个不同的值分配给三个不同的Double变量

我曾尝试将此类字符串的第一个字符分配给我的双变量,但未能成功

有什么建议吗

谢谢大家!

以下是我想做的:

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));
需要一个字符串,而您正试图传递一个字符

试试这个:

newHeight = Double.parseDouble(newDimensions.subString(1));
需要一个字符串,而您正试图传递一个字符

试试这个:

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

您可以首先使用分割输入,然后使用Double.parseDouble解析每个变量,将它们读入一个双变量

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

您可以首先使用分割输入,然后使用Double.parseDouble解析每个变量,将它们读入一个双变量

String[] params = newDimensions.split(" ");
newHeight = Double.parseDouble(params[0]);
newWidth = Double.parseDouble(params[1]);
  • 从用户那里获取输入

  • 使用delimeter空格,即“”,拆分该行

  • 内部for循环使用double.parseDouble(splitted[i])将每个索引元素更改为double

  • 从用户那里获取输入

  • 使用delimeter空格,即“”,拆分该行

  • 内部for循环使用double.parseDouble(splitted[i])将每个索引元素更改为double


  • 获取输入,将其拆分为一个空格并解析每个双精度。此代码不会清理输入

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

    获取输入,将其拆分为一个空格并解析每个双精度。此代码不会清理输入

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

    试着这样做:

    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());
    
    newDimensions=JOptionPane.showInputDialog(。。。
    newDimensions=newDimensions.trim();
    字符串arr[]=newDimensions.split(“”);
    double darr[]=新的double[arr.length];
    
    对于(int i=0;i请尝试以下操作:

    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());
    
    newDimensions=JOptionPane.showInputDialog(。。。
    newDimensions=newDimensions.trim();
    字符串arr[]=newDimensions.split(“”);
    double darr[]=新的double[arr.length];
    对于(int i=0;i