首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java.util.Scanner错误

Java.util.Scanner错误
EN

Stack Overflow用户
提问于 2015-06-30 04:39:38
回答 1查看 485关注 0票数 0

我正在编写一个程序,根据用户提供的输入返回未来的值。

代码语言:javascript
复制
import java.util.Scanner; //import utility package, scanner class
import java.lang.Math; //import language package, math class 
class InvestmentCalculation

{
   public static void main(String[] args) 

   {

      Scanner s = new Scanner(System.in);

      //Principle Value Input
      System.out.print("Enter principle deposit: ");
      int p = s.nextInt ();

      //Interest Rate Input
      System.out.print("Enter annual interest rate: ");
      int r = s.nextInt ();

      double fv = p * Math.pow( (1.0 + r/100), 10);  


      //operation print
      System.out.println("Your investment will be worth: " + fv);
   }
} 

当我运行程序时,在输入速率后,它会给出以下错误:

代码语言:javascript
复制
Exception in thread "main" java.util.InputMismatchException
    at java.util.Scanner.throwFor(Scanner.java:864)
    at java.util.Scanner.next(Scanner.java:1485)
    at java.util.Scanner.nextInt(Scanner.java:2117)
    at java.util.Scanner.nextInt(Scanner.java:2076)
    at InvestmentCalculation.main(Addition.java:20)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-30 04:41:47

这是因为您可能以双倍的形式输入速率,因此输入是不正确的。

注意:InputMismatchExceptionJavaDocs中的内容如下:

由扫描程序引发,指示检索到的令牌与预期类型的模式不匹配,或者令牌超出了预期类型的范围。

修复通道:

代码语言:javascript
复制
//Interest Rate Input
System.out.print("Enter annual interest rate: ");
double r = s.nextDouble();
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31129677

复制
相关文章

相似问题

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