首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Java扫描器错误:线程"main“java.util.NoSuchElementException中出现异常

Java扫描器错误:线程"main“java.util.NoSuchElementException中出现异常
EN

Stack Overflow用户
提问于 2015-10-29 04:22:10
回答 1查看 2.3K关注 0票数 2

我刚开始在java上大学课程,在Scanner类中一直收到这个错误。

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

public class InchConversion
{
    public static void main (String[] args)
    {   
        Double inches, centimeters;
        Scanner fromKeyboard = new Scanner(System.in);
        System.out.println("Enter Value in Inches");
        inches = fromKeyboard.nextDouble();
        centimeters = inches*2.54;
        System.out. println(inches + " inches is equal to " + centimeters + " centimeters.");
    }
}

我一直得到的错误是:

代码语言:javascript
复制
  Compiling InchConversion.java.......
-----------OUTPUT-----------
Enter Value in Inches
Exception in thread "main" java.util.NoSuchElementException
    at java.util.Scanner.throwFor(Scanner.java:862)
    at java.util.Scanner.next(Scanner.java:1485)
    at java.util.Scanner.nextDouble(Scanner.java:2413)
    at InchConversion.main(InchConversion.java:11)
[Finished in 0.8s with exit code 1]
EN

Stack Overflow用户

发布于 2015-10-29 04:24:31

例如,您需要使用3.0作为输入,因为您明确地告诉扫描程序需要浮点值,而在Java float中需要小数,即使它是整数。工作安排将是:

代码语言:javascript
复制
double inches = Double.parseDouble(fromKeyboard.nextLine());

这样,您告诉扫描器解析当前行上的第一个字符串值,该字符串值也可以解释为双精度(在这种情况下,java编译器并不关心数字是否没有小数,它在解析过程中将其相加)。所以如果你输入20,它会自动调用add decimal和inches = 20.0。但是如果你想使用inches = 20.1,你仍然需要输入20dot1。但至少它摆脱了非直观和外来的20.0输入。

编辑:我用我的修复程序测试了你的代码,它对我来说工作得很好

代码语言:javascript
复制
public static void main (String[] args) {   
    Double inches, centimeters;
    Scanner fromKeyboard = new Scanner(System.in);
    System.out.println("Enter Value in Inches");
    inches = Double.parseDouble(fromKeyboard.nextLine());
    centimeters = inches*2.54;
    System.out.println(inches + " inches is equal to " + centimeters + " centimeters.");
}

如果输入1,则输出为1.0 inches is equal to 2.54 centimeters.

票数 4
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33400910

复制
相关文章

相似问题

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