首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用小数计算的函数

使用小数计算的函数
EN

Stack Overflow用户
提问于 2010-08-17 06:13:10
回答 3查看 3.2K关注 0票数 3

例如,当您键入22和56时,此代码运行良好,它会显示正确的结果

代码语言:javascript
复制
  import java.util.Scanner;

class apples{
    public static void main(String args[]){
    Scanner villy = new Scanner (System.in);
    double fnum, snum, answer;
    System.out.println("Enter first num: ");
    fnum = villy.nextDouble();
    System.out.println("Enter second num: ");
    snum = villy.nextDouble();
    answer = fnum + snum;
    System.out.println(answer);
    }
}

但是,当您尝试输入小数时,例如23.53和42.76,它将失败,并出现以下异常

代码语言:javascript
复制
Exception in thread "main": java.util.InputMismatchException
       at java.util.Scanner.throwFor(unknown Source)
       at java.util.Scanner.next(unknown Source)
       at java.util.Scanner.nextDouble(unknown Source)
       at apples.main(apples.java:8)
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-08-17 06:32:33

你是不是碰巧用的不是英语的电脑?例如,对于法语或德语区域设置,您必须输入23,53,而不是23.53

扫描器的默认区域设置是Locale.getDefault()返回的内容:在英语计算机上,它应该返回Locale.ENGLISH。您可以通过执行以下操作将区域设置设置为英语:

代码语言:javascript
复制
Scanner villy = new Scanner(System.in).useLocale(Locale.ENGLISH);
票数 1
EN

Stack Overflow用户

发布于 2010-08-17 06:35:21

在输入数字时,您可能会键入逗号而不是句号。这将抛出一个InputMismatchException。我已经运行了代码,它可以很好地处理正确键入的输入,但是当我用任何其他字符替换句点时,会抛出InputMismatchException。

票数 1
EN

Stack Overflow用户

发布于 2010-08-17 06:19:09

下面的代码片段运行良好。你的问题一定出在别的地方。你说的“它失败”是什么意思?它会给你一个错误消息或异常吗?

代码语言:javascript
复制
double fnum=0, snum=0, answer = 0;
fnum=23.53;
snum=42.76;
answer=fnum+snum;
System.out.println("answer="+answer); //prints 66.28999999999999
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3497838

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档