我刚开始我的大学java课程,在扫描器类中不断得到这个错误。
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.");
}
}
我不断得到的错误是:
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]
例如,您需要使用3.0作为输入,因为您明确地告诉扫描器需要float值,而在Java中float需要小数,即使它是整数。Workouround将是:
double inches = Double.parseDouble(fromKeyboard.nextLine());
通过这种方式,您可以告诉扫描器解析当前行上的第一个字符串值,该值也可以被解释为double(在这种情况下,java编译器并不关心这个数字,即使没有小数,它也会在解析过程中添加它)。因此,如果输入20,它将自动调用add decimal和inches=20.0
。但是如果您想要英寸=20.1
,您仍然必须输入20dot1。但至少它摆脱了不直观和陌生的20.0输入。
编辑:我用我的修复程序尝试了你的代码,它对我来说非常好
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英寸等于2.54厘米。
每当我运行这个函数时,函数与.nextint()中的
当扫描仪无赖时间在(while循环)主打印异常:
肯定有一条线,但我不明白为什么扫描仪看不到… 以下是文件的开头: 下面是我获取它的代码: 但我得到了错误: book1_enc的文件是我的LZW编码算法的输出。当我将文件传递给我的解码器时,我希望解码器知道字典的大小,在这种情况下是256...感谢您的阅读...
我的代码中出现了这个错误。 这是我的代码: 这就是结果。错误:在线程“main”java中输入model:Exception。lang.NullPointerException在汽车上。主(车.java:10)
问题内容: 每当我运行此命令时,该函数就可以正常使用。当我选择洞穴时,消息会每隔2秒弹出一次,然后当它越过该部分时,就会出现错误: 我已经尝试过和,并且在该方法中使用时,出现了很多错误。当我在方法中使用时,它不接受我的输入。 当我在该方法中使用时,它不接受我的字符串输入,而直接进入另一个游戏,但是布尔值返回并且它无限地发送垃圾邮件“ Which Cave …”。 我已经阅读了错误报告,以及类似问题