首页 > 解决方案 > 当我将十进制数字输入到 double 类型的变量时,我得到一个 InputMismatchException

问题描述

我尝试用逗号分隔它们,但这并没有解决问题。当我输入整数时,该程序运行良好。例如,5.5 50.9 4.5 会使程序崩溃,但 5 50 4 不会。

import java.util.Scanner;

public class Lab3 {

public static void main(String[] args) {
            
    double v0, v1, t;
    
    Scanner input = new Scanner(System.in);
    
    System.out.print("Enter v0, v1, and t: ");
    
    v0 = input.nextDouble();
    v1 = input.nextDouble();
    t = input.nextDouble();
            
    }

}

标签: java

解决方案


您需要用空格分隔输入,例如输入

1.0 2.0 3.0

这记录在Scanner 的 Javadoc中:

Scanner 使用分隔符模式将其输入分解为标记,默认情况下匹配空格。

空白通常意味着空格、制表符和换行符。


推荐阅读