线程“main”java.util.NoSuchElementException中的异常(我对这一点非常陌生)

线程“main”java.util.NoSuchElementException中的异常(我对这一点非常陌生),java,Java,我在一个简单的代码上遇到了问题,我到处都能看到这个问题,但我似乎找不到解决方法,然后我又一次在3周前开始学习java 这是我编译和运行后的错误 $java -Xmx512M -Xms64M RolePlayingGame Name your adventurer. Exception in thread "main" java.util.NoSuchElementException at java.util.Scanner.throwFor(Scanner.java:907) a

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

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

$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)
这是我的密码。这并不紧急,我可能很快会在课堂上学习,但我仍然想知道,这不是为了上课或其他什么,这只是我的一个宠物项目。这是我的少量代码

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?");




    }
}

在添加级别和运行状况之后,我在编译时也开始出现新的错误。可能是我使用的网站我使用的是在线编译器,在我开始出现错误后大约一分钟,网站就崩溃了。

错误在这里: Name=keyboard.next

你应该使用 Name=keyboard.nextLine

java.util.Scanner.next方法查找并返回来自此扫描仪的下一个完整令牌。 完整标记的前面和后面都有一个与分隔符模式匹配的输入,默认情况下,分隔符模式为空白

您可能需要查看


您还应该看看

请遵循Java命名约定。非final变量应该以小写字母开头。我使用的是在线编译器,而在线编译器可以工作,它们的质量、性能和功能在不同的编译器之间有所不同。我建议您在获得许可的情况下,在您有权访问的计算机上安装Eclipse和JDK,并使用它而不是在线编译器。Eclipse提供了诸如错误检查、库自动完成和更好的项目管理等功能。不熟悉非最终变量命名约定,最近才开始使用,并且只有几个小时的实践时间。今天早些时候,我被催促着让一个掷骰子的代码自己工作。我安装了JDK,但遇到了问题。就我个人而言,我喜欢一个编译器来编译它,然后试着运行它,我不知道Eclipse是否是这样。不过我会查一下的,谢谢。网上有很多初学者教程。我建议从简单的开始,而不是一个游戏,或者像《刽子手》这样的东西。但更好的方法是,在给定距离和总消耗量的情况下,计算一辆汽车100英里的消耗量。在继续之前,要适当地熟悉这些工具。我只是觉得我可以在这里练习更多不同的东西。而且数量更大。