首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >线程"main“java.util.NoSuchElementException中的异常(我对此还是个新手)

线程"main“java.util.NoSuchElementException中的异常(我对此还是个新手)
EN

Stack Overflow用户
提问于 2013-09-05 01:25:09
回答 1查看 1.2K关注 0票数 1

我在一个简单的代码上遇到了问题,我到处都看到了这个问题,但我似乎找不到解决方法来解决我的问题,然后我又一次开始学习java,直到3周前。

这是我在编译和运行后的错误

代码语言:javascript
复制
$java -Xmx512M -Xms64M RolePlayingGame
Name your adventurer.
Exception in thread "main" java.util.NoSuchElementException
    at java.util.Scanner.throwFor(Scanner.java:907)
    at java.util.Scanner.next(Scanner.java:1416)
    at RolePlayingGame.main(RolePlayingGame.java:11)

这是我的代码。这并不紧急,我可能很快就会在课堂上学习它,但我仍然想知道,这不是为了上课或其他什么,这只是我的宠物项目。这是我的一小段代码。

代码语言:javascript
复制
import java.util.Scanner;
public class RolePlayingGame
{
    public static void main (String [] args)
    {
    Scanner keyboard = new Scanner (System.in);
    int EnemyHack, EnemySlash, EnemyStab, EnemyBlock, Hack, Slash, Stab, Block, Potion, Health, EnemyHealth, EnemyHealth2, EnemyHealth3, EnemyHealth4, EnemyHealth5, Level;
    String Hack2, Slash2, Stab2, Block2, Potion2, Name;

    Level = 1;
    Health = 20+(Level*5);

    System.out.println("Name your adventurer.");
    Name = keyboard.next();
    System.out.println("Your name is " + Name + " .");


    System.out.println("You're passing through a murky forest.");
    System.out.println("You've been travelling many days. And you are tired.");
    System.out.println("There has been a heavy fog for the past week and it");
    System.out.println("has begun to grate on your nerves. Recently however,");
    System.out.println("you've noticed the fog lessening. As the fog lessens");
    System.out.println("you begin to notice shapes, you slowly draw your sword.");
    System.out.println("As you pass through the fog a demon lunges at you.");
    System.out.println("You let forth a battlecry and begin to fight.");
    System.out.println("The enemies health is " + EnemyHealth + " whereas yours is " + Health + " . Do you want to flee?");




    }
}

在我添加了Level和Health之后,我也开始在编译时得到一个新的错误。可能是我正在使用的网站(我使用的是一个在线编译器,网站在我开始出现错误大约一分钟后就宕机了)。

EN

回答 1

Stack Overflow用户

发布于 2013-09-05 01:41:53

错误出现在这里:Name = keyboard.next();

您应该使用Name = keyboard.nextLine();

java.util.Scanner.next()方法从这个扫描器中查找并返回下一个完整的令牌。完整的标记前后都有一个与分隔符模式匹配的输入,默认情况下,分隔符模式为空格。

您可能需要查看Scanner class的文档

您还应该查看一下Java naming convention

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18620166

复制
相关文章

相似问题

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