java - 当我将十进制数字输入到 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();
}
}
解决方案
您需要用空格分隔输入,例如输入
1.0 2.0 3.0
这记录在Scanner 的 Javadoc中:
Scanner 使用分隔符模式将其输入分解为标记,默认情况下匹配空格。
空白通常意味着空格、制表符和换行符。
推荐阅读
- networking - 通过防火墙的 GCP 端口转发
- outlook - 在 Outlook 上单击签名如何获取其内容
- bash - 通过 shell 脚本在 Mac 上的 Finder 中打开 windows 文件共享
- node.js - 延迟 koa 请求 30 分钟但立即发送 200 头
- php - 如何让错误实际显示在我的 php 页面上?
- mysql - 使用缓冲区大小和持久连接配置优化 mysql (mariadb) 中数据库性能的最佳方法
- python - Python ConnectN 棋盘游戏
- apache-spark - 在 Databricks Connect 和本地 Spark 环境之间切换
- python - 如何将 XML 文件读入 Pandas Dataframe,如在 Excel 中读取 XML 表
- azure-sql-database - 有关小型操作的 Azure ETL 解决方案的一般问题