Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将变量中的值存储为用户输入的双精度值?_Java_Variables_Input_Double - Fatal编程技术网

Java 如何将变量中的值存储为用户输入的双精度值?

Java 如何将变量中的值存储为用户输入的双精度值?,java,variables,input,double,Java,Variables,Input,Double,我刚刚开始学习Java编程,我不知道如何将用户输入的值存储为双精度 这是我的密码: package FirstProject; import java.util.Scanner; public class TripPlanner { public static void main () { Scanner console = new Scanner(System.in);

我刚刚开始学习Java编程,我不知道如何将用户输入的值存储为双精度

这是我的密码:

    package FirstProject;
    
       import java.util.Scanner;
    
       public class TripPlanner {
           
           public static void main () {
           Scanner console = new Scanner(System.in);
           System.out.print("How many " + currencySymbol + " are there in 1 USD? ");
           double conversion = console.nextDouble();
           }
       }

我不明白为什么当我输入时,例如19.5,它会给我异常错误。我的理解是,我将转换变量定义为double-double-conversion,希望用户进入一个双控制台.nextDouble;。这是最基本的,但来自Python,我无法理解我做错了什么。

我看不出您的代码中有任何错误。除了主站。
正确的调用方式是publicstaticvoid主字符串args[]

我看不出代码中有任何错误。除了主站。
正确的调用方式应该是publicstaticvoid主字符串args[]

像您那样使用扫描器有点失控。例如,扫描仪所需的格式取决于区域设置。例如,如果您的系统设置是德语,则需要输入3,7以获得双倍值3.7

如果输入字符串的格式无效,则将引发异常,可能是java.util.InputMismatchException。您应该捕获异常并以适合您的用例的方式作出反应

为了更好地控制所使用的语言环境,您应该从控制台读取字符串,然后使用java.text.NumberFormat。
请参阅。

像您那样使用扫描仪有点失控。例如,扫描仪所需的格式取决于区域设置。例如,如果您的系统设置是德语,则需要输入3,7以获得双倍值3.7

如果输入字符串的格式无效,则将引发异常,可能是java.util.InputMismatchException。您应该捕获异常并以适合您的用例的方式作出反应

为了更好地控制所使用的语言环境,您应该从控制台读取字符串,然后使用java.text.NumberFormat。
请参阅。

@Leistreter为我指出了正确的方向。这是键盘设置。我住在英国,习惯于写带点的十进制数。然而,我的键盘设置为波兰程序员的。在波兰,十进制数字是用、,。一旦我改变了设置,我就不再有这个问题了。我决不会想到这一点。谢谢@Leisteter。

@Leisteter为我指明了正确的方向。这是键盘设置。我住在英国,习惯于写带点的十进制数。然而,我的键盘设置为波兰程序员的。在波兰,十进制数字是用、,。一旦我改变了设置,我就不再有这个问题了。我决不会想到这一点。谢谢@Leisteter。

您能一直添加您得到的错误吗?这是我得到的错误:在java.util.Scanner.throwForScanner.java:864在java.util.Scanner.nextScanner.java:1485在java.util.Scanner.nextDoubleScanner.java:2413在java.util.ScannerDoubleProblem.main DoubleProblem.java:10您是否可以始终添加您得到的错误?这是我在线程main java.util.InputMismatchException中得到的错误:java.util.Scanner.throwForScanner.java:864在java.util.Scanner.nextScanner.java:1485在java.util.Scanner.nextDoubleScanner.java:2413在DoubleProblem.mainDoubleProblem.java:10