在我的代码,我要求用户通过一个空格分割输入三个不同的值。 然后,这三个不同的价值观,我想将它们分配给三个不同的双变量。
我已经通过分配字符串的第一个字符到我的双变量试过,但我一直没能成功。
有什么建议?
谢谢!
这里是我想要做的事:
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));
获取输入,由空格分开,并分析每个双人间。 此代码不净化输入。
String input = "12.4 19.8776 23.3445";
String[] split = input.split(" ");
for(String s : split)
{
System.out.println(Double.parseDouble(s));
}
你可以使用第一拆分输入String.split ,然后使用Double.parseDouble分析每个变量Double.parseDouble他们读入一个双变量。
String[] params = newDimensions.split(" ");
newHeight = Double.parseDouble(params[0]);
newWidth = Double.parseDouble(params[1]);
双#parseDouble(STR)需要一个字符串,你试图传递一个字符。
试试这个:
newHeight = Double.parseDouble(newDimensions.subString(1));
尝试是这样的:
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());
还有,可以采取一些防御性的问题。 您解析双做一个微调是一种至关重要的。