我在java中编写了一个简单的计算器,它从用户那里获取两个Double类型的数字并输出总和。当我输入带有句点(2.0)的数字时,我会收到错误。但是当我用逗号(2,0)输入时,它可以工作!然后它以2.0的形式输出答案。
为什么我的java通过逗号识别双输入,但是用句点输出?我跟着的视频教程,这个家伙用句点输入他的双倍,并用句号输出它。
这是我的代码:
import java.util.Scanner;
public class ScannerIntro {
public static void main(String args[]){
Scanner bucky = new Scanner(System.in);
double firstNumber, secondNumber, answer;
System.out.println("Enter first number: ");
firstNumber = bucky.nextDouble();
System.out.println("Enter Second number: ");
secondNumber = bucky.nextDouble();
answer = firstNumber+secondNumber;
System.out.println("The answer is:");
System.out.println(firstNumber+" + "+secondNumber+" = "+answer);
}
}
答案 0 :(得分:0)
nextdouble(类扫描程序)解释输入的方式取决于您所在的语言环境:
http://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html
在某些国家(如法国或德国),句号用作千位分隔符,而逗号用作小数点。
输出来自使用默认方式的其他类。
你可以
1)设置扫描仪的区域设置,使其与输出匹配。为此使用函数:
useLocale(Locale locale)
2)设置格式printf确定格式化数字:
来自文档: https://docs.oracle.com/javase/tutorial/java/data/numberformat.html
public PrintStream format(Locale l, String format, Object... args)
两种方式都有效。现在你必须决定哪一个适合你。