JAVA:为什么我会不断收到这些运行时错误?

用户名

编写了一个roshambo程序,运行了一次,运行正常,再次运行,弹出了以下错误:

RoShamBo!

  1. 玩游戏
  2. 显示分数
  3. 辞职

1个

您选择哪一个?

  1. 剪刀

2个

您选择哪一个?

  1. 剪刀

输入无效,请重试。

Exception in thread "main" java.util.NoSuchElementException

at java.util.Scanner.throwFor(Unknown Source)

at java.util.Scanner.next(Unknown Source)

at RoShamBo.getUserChoice(RoShamBo.java:82)

at RoShamBo.winner(RoShamBo.java:112)


at RoShamBo.main(RoShamBo.java:27)

不确定如何处理这些类型的错误,这是我第一次使用方法,因此我认为它与我如何调用每个方法有关?请帮忙。

提前致谢。

import java.util.Scanner;

public class RoShamBo 
{
public static void main(String[] args)
{
    System.out.println("RoShamBo!");
    System.out.println("1. Play Game");
    System.out.println("2. Show Score");
    System.out.println("3. Quit");
    Scanner userInput = new Scanner(System.in);

    if(userInput.hasNextInt())
    {
        int userIn = userInput.nextInt();
        if(userIn == 1)
        {
            getUserChoice();
            getCompChoice();
            winner();
        }
        else if(userIn == 2)
        {
            scores();
        }
        else if(userIn == 3)
        {
            System.out.println("Qutiing: Final Score was: ");
            scores();
            userInput.close();
        }
        else
        {
            System.out.println("Invalid Entry, Please Try Again.");
            userInput.next();
        }
    }
    else
    {
        System.out.println("Invalid Entry, Please Try Again.");
        userInput.next();
    }
}      
public static String getUserChoice()
{
    // ask player for a move : playerMove
    System.out.println("Which do you choose?");
    System.out.println("1. Rock");
    System.out.println("2. Paper");
    System.out.println("3. Scissors");

    Scanner input = new Scanner(System.in);
    String userChoice = " ";

    if (input.hasNextInt())
    {
        int userInput = input.nextInt();
        switch(userInput)
        {
            case 1:
                    userChoice = "Rock";
                    break;
            case 2:
                    userChoice = "Paper";
                    break;
            case 3:
                    userChoice = "Scissors";
                    break;
        }

    }
    else
    {
        System.out.println("Invalid Entry, Please Try Again.");
        input.next();
    }
    input.close();
    return userChoice;
}
private static String getCompChoice()
{
    //Method for getting Computers move
    int compChoice = (int) ( 1 + (Math.random() * 3));
    String compMove = " ";
    switch(compChoice)
    {
        case 1:
                compMove = "Rock";
                break;
        case 2:
                compMove = "Paper";
                break;
        case 3:
                compMove = "Scissors";
                break;
    }

    return compMove;
}

public static String winner()
{
    String winnerIs = " ";
    String comp = getCompChoice();
    String user = getUserChoice();
    if(user.equals("Rock") && comp.equals("Scissors") ||
       user.equals("Paper") && comp.equals("Rock") ||
       user.equals("Scissors") && comp.equals("Paper"))
    {          
        System.out.println("You Win!");
    }
    else
    {
        System.out.println("You Lose");
    }
    return winnerIs;
}
public static void scores()
{
    int compCount = 0;
    int userCount = 0;
    if (winner().equals("You Win!"))
    {
        userCount++;
    }
    else
    {
        compCount++;
    }
    System.out.println("Player = " + userCount );
    System.out.println("Computer = " + compCount );
}
}
彼得·毫米

大概在这里

 {
        System.out.println("Invalid Entry, Please Try Again.");
        input.next();
    }

你正在做一个next()没有检查的has*()

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么我会收到这些错误,java truetype错误?

来自分类Dev

为什么我会从WinLess收到此错误消息?

来自分类Dev

为什么我会从WinLess收到此错误消息?

来自分类Dev

我无法确定为什么在通过io运行时收到java.lang.Nullpointerexception错误消息

来自分类Dev

我的ID不为null,为什么会收到运行时错误?

来自分类Dev

收到运行时错误1004,我不明白为什么

来自分类Dev

为什么我在 Excel VB 中收到运行时错误 429?

来自分类Dev

为什么我在 Xcode 上收到以下代码的 (lldb) 运行时错误?

来自分类Dev

不断收到运行时错误'5'VBA,这是什么问题?

来自分类Dev

为什么以下一段Java代码会引发运行时错误?

来自分类Dev

为什么我会从Pythons请求模块收到超时错误?

来自分类Dev

为什么我的代码出现运行时错误?

来自分类Dev

为什么我的代码给出运行时错误?

来自分类Dev

为什么我会得到警告:(在指向“ ptr”的初始化附近)并且在运行时在指针处赋值时出现分段错误?

来自分类Dev

分段错误 - 为什么我会收到此错误?

来自分类Dev

我有这个问题。我不断收到运行时错误,因为它同时打印2行?

来自分类Dev

我在VBA excel中编写编码器。我不断收到运行时错误13。它说不匹配

来自分类Dev

我收到运行时错误NZEC请告诉我是什么问题

来自分类Dev

我的VBA代码有什么问题(我收到运行时错误9)

来自分类Dev

我有一个视图寻呼机,我尝试在主片段内嵌套一个地图片段。为什么我会不断收到“错误放大类片段”?

来自分类Dev

为什么我会收到此错误

来自分类Dev

为什么我会收到价值错误

来自分类Dev

为什么我会收到JavaScript参考错误?

来自分类Dev

为什么我会收到错误消息

来自分类Dev

为什么我会收到此错误窗口表格?

来自分类Dev

为什么我会收到 fsck 错误?

来自分类Dev

为什么我会收到 Unexpected Token ,错误?

来自分类Dev

为什么我会收到此错误 (NoMethodError)

来自分类Dev

为什么我会收到安装 imposm 的错误?

Related 相关文章

  1. 1

    为什么我会收到这些错误,java truetype错误?

  2. 2

    为什么我会从WinLess收到此错误消息?

  3. 3

    为什么我会从WinLess收到此错误消息?

  4. 4

    我无法确定为什么在通过io运行时收到java.lang.Nullpointerexception错误消息

  5. 5

    我的ID不为null,为什么会收到运行时错误?

  6. 6

    收到运行时错误1004,我不明白为什么

  7. 7

    为什么我在 Excel VB 中收到运行时错误 429?

  8. 8

    为什么我在 Xcode 上收到以下代码的 (lldb) 运行时错误?

  9. 9

    不断收到运行时错误'5'VBA,这是什么问题?

  10. 10

    为什么以下一段Java代码会引发运行时错误?

  11. 11

    为什么我会从Pythons请求模块收到超时错误?

  12. 12

    为什么我的代码出现运行时错误?

  13. 13

    为什么我的代码给出运行时错误?

  14. 14

    为什么我会得到警告:(在指向“ ptr”的初始化附近)并且在运行时在指针处赋值时出现分段错误?

  15. 15

    分段错误 - 为什么我会收到此错误?

  16. 16

    我有这个问题。我不断收到运行时错误,因为它同时打印2行?

  17. 17

    我在VBA excel中编写编码器。我不断收到运行时错误13。它说不匹配

  18. 18

    我收到运行时错误NZEC请告诉我是什么问题

  19. 19

    我的VBA代码有什么问题(我收到运行时错误9)

  20. 20

    我有一个视图寻呼机,我尝试在主片段内嵌套一个地图片段。为什么我会不断收到“错误放大类片段”?

  21. 21

    为什么我会收到此错误

  22. 22

    为什么我会收到价值错误

  23. 23

    为什么我会收到JavaScript参考错误?

  24. 24

    为什么我会收到错误消息

  25. 25

    为什么我会收到此错误窗口表格?

  26. 26

    为什么我会收到 fsck 错误?

  27. 27

    为什么我会收到 Unexpected Token ,错误?

  28. 28

    为什么我会收到此错误 (NoMethodError)

  29. 29

    为什么我会收到安装 imposm 的错误?

热门标签

归档