java - 程序编译但不运行

标签 java if-statement java.util.scanner

这是我必须完成的作业。

有人能引导我走向正确的方向吗?

程序可以编译,但无法正确运行。

错误是InputMissmatch异常。

最佳答案

您收到的错误意味着您正在尝试使用某种数据作为另一种数据,在您的情况下,您可能正在尝试使用字符串作为 float 。

在 Scanner 类中使用任何 next 方法时,您应该首先确保用户有适当的输入。

为此,您需要使用 has 方法。

您的问题是您在使用 Scanner.nextFloat(); 之前没有检查输入是否是正确的 float ;

你应该这样做:

if (hope.hasNextFloat())
{
    // Code to execute when you have a proper float, 
    // which you can retrieve with hope.nextFloat()
}
else
{ 
    // Code to execute when the user input is not a float
    // Here you should treat it properly, maybe asking for new input
}

这应该足以为您指明正确的方向。

另外,请检查Scanner api 文档以获取更多详细信息。

编辑

此外,您要求用户输入字符(或字符串):“A”、“B”等...,但您试图将它们与 float 进行比较。这是错误的,您应该将它们与字符串或字符进行比较,如下所示:

if (hope.hasNextString())
{
   if (hope.nextString().equals("A"))
   {
       // Code for option "A"
   }
   else if (hope.nextString().equals("B"))
   {
       // Code for option "B"
   }
   else ...
}

你可以在那里使用一个开关,但看来你对java还不是很熟悉,所以我下次再讲。

关于java - 程序编译但不运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15299736/

相关文章:

Java:从文件读取时扫描仪不接受 try-catch 类错误

java - 关于从文件读取时跳过备用行的解释?

java - Spring Maven项目结构pom.xml

java - Instrument Netty 的 EventLoop 用于确定性执行计划任务

Jquery 条件检查是 (':hover' )不起作用

c - 函数数组在 if 和 switch 语句上的性能

java - Java 新手,请帮助我的程序运行!我的任务是编写一个将整数转换为罗马数字的程序

java - 比较两个图像以进行运动检测

java - 关于 RunLengthEncoding() 构造函数澄清的查询

swift - 为 "If"语句测试值设置多个整数