我对 Java 相当陌生,我正在制作一个简单的计算器。问题是,当我输入的数字是“3.1”时,它会给出异常错误,但当写入“3,1”时,它工作得很好。
\n\n然而,我的朋友有一个稍微更高级的计算器(带有字符串解析),当我运行他的代码时,会发生相反的情况:3,1 给出异常错误,3.1 工作完美。
\n\n我很想知道是什么导致了这些不同的行为。
\n\n我刚才做了这个简单的求和,同样的情况发生了,我将在几分钟内编辑并输入他的计算器代码
\n\nimport java.util.Scanner;\n\npublic class Tutorial_7 {\n public static void main(String args[]){\n Scanner scan = new Scanner(System.in);\n double num1, num2;\n\n System.out.println("Introduza os dois n\xc3\xbameros");\n\n System.out.println("1\xc2\xba: ");\n num1 = scan.nextDouble();\n System.out.println("2\xc2\xba: ");\n num2 = scan.nextDouble();\n\n System.out.println((num1 + num2));\n scan.close();\n }\n\n}\nRun Code Online (Sandbox Code Playgroud)\n\n最终编辑:他确实使用Double.parseDouble(). 明白了,区别确实在于它的本地化位置。应该寻找它,但以前从未听说过这个概念。
谢谢
\nLibrary我有我创建的主类:
HashMap<String, HashSet<String>> students_books = new HashMap<String, HashSet<String>>();
Run Code Online (Sandbox Code Playgroud)
然后我将在类Student中创建一个构造函数,该构造函数将 HashMap 作为参数,如下所示:
public class Student {
private Student(HashMap students_books){
Run Code Online (Sandbox Code Playgroud)
然后,回到我的主类(库),我创建一个student对象,我想将 HashMap 作为参数:
Student student = new Student(*HashMap as parameter*);
Run Code Online (Sandbox Code Playgroud)
我没有找到的是如何做到这一点以及类如何Student知道我传递的 HashMap 类型,例如,<String, HashSet<String>>