java - 循环读取用户输入的 double

标签 java loops

所以我有一个程序正在读取用户输入的 double ,但是,如果用户一开始没有输入任何数据,我想打印一条消息:

输入数据集:

^D

没有数据!

然而,当我运行我的程序时,当用户输入值然后按 ctl+d 时,即使输入了值,程序仍然会显示无数据消息。这是我的代码:

public static void main(String[] args) {

    Scanner keyboard = new Scanner(System.in);
    System.out.println("Enter data set: ");
    ArrayList<Double> nums = new ArrayList<Double>();

    while (keyboard.hasNextDouble()) {
        nums.add(keyboard.nextDouble());
    }
    //I think this is the part that is causing the bug but im not sure how to fix it
    if (!keyboard.hasNextDouble()) {
        System.out.println("\nNo Data!");
        return;
    }

我如何修改这个程序,以便只有当用户没有输入任何数据时才打印消息,而不是在用户结束文件时一直打印?谢谢。

最佳答案

尝试

 if (nums.isEmpty ()) {

可能是你的情况?

关于java - 循环读取用户输入的 double ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36660971/

相关文章:

用于 Cordova 的 Java SIP 插件或用于音频和视频流的 Phonegap

java - AWS 身份验证需要有效的 Date 或 x-amz-date header

arrays - Ruby 遍历数组获取方法名

python - 循环字符串难度python 3

java - Android:Parse.com 与 findInBackground() 的并发问题

java - JmDNS 样本

java - 了解客户端和服务器

javascript - 如何在两个对象数组之间推送不存在的数据

php - 在 PHP 中循环需要时间, fatal error : Maximum execution time of 120 seconds exceeded in

python - 为什么使用 from __future__ import print_function 会破坏 Python2 样式的打印?