当前位置: 首页 > 知识库问答 >
问题:

战舰游戏-例外

郭乐意
2023-03-14

我正在为赋值编写一个java程序,但有一个例外,用户不能为不存在的行或列输入值。i、 e如果电路板为5x7,且用户输入的列值为10,则屏幕将打印“错误:无效列”。然而,我不确定如何做这个最后的例外,我需要今天提交它。如果有人能帮忙,我会非常感激的!下面是我的makeGuess()函数代码:

public void makeGuess(){
        //guesses is for keeping track of your guesses
        boolean cont=true;
        int rowGuess;
        int columnGuess;
        do{
        System.out.println("Enter a row to guess >");
        rowGuess = (input.nextInt()-1);
        if(rowGuess<=0){
            System.out.println("You did not enter a positive Integer.Please try again");
        cont=false;}
        else{
        cont=true;}
        }
        while (cont==false);


        do{
            System.out.println("Enter a column to guess >");
            columnGuess = (input.nextInt()-1);
            if(columnGuess <=0){
                System.out.println("You did not enter a positive integer.Please try again");
                cont=false;
            } else{
                cont=true;
            }
        }while(cont==false);

共有3个答案

洪通
2023-03-14

根据我的经验,更好的方法是创建自己的例外

public class BadMoveException extends Exception {
  BadMoveException(Exception ex) {
    super(ex);
  }

  BadMoveException(String ex) {
    super(ex);
  }
}

使makeGoogle抛出BadMoveException,然后对于用户可以进行的任何无效移动,您可以使用它创建一个BadMoveException,并将其打印在makeGoogle外部的catch{}块中

while (!gameOver) {
  try {
    makeGuess();
  }
  catch (BadMoveException ex) {
    System.out.println("You tried to make an invalid move:" + ex.getMessage());
  }
}
刘琨
2023-03-14

正如您有一个if语句来测试数字是否太小一样,您也需要测试数字是否太大

public void makeGuess(){
    //guesses is for keeping track of your guesses
    boolean cont=true;
    int rowGuess;
    int columnGuess;
    do{
        System.out.println("Enter a row to guess >");
        rowGuess = (input.nextInt()-1);
        if(rowGuess<=0){
            System.out.println("You did not enter a positive Integer.Please try again");
            cont=false;
        }else if(rowGuess>7){
            System.out.println("You did not enter a small enough Integer.Please try again");
            cont=false;
        }else{
            cont=true;
        }
    }while (cont==false);


    do{
        System.out.println("Enter a column to guess >");
        columnGuess = (input.nextInt()-1);
        if(columnGuess <=0){
            System.out.println("You did not enter a positive integer.Pleasetry again");
            cont=false;
        }else if(columnGuess>5){
            System.out.println("You did not enter a small enough Integer.Please try again");
            cont=false;
        } else{
            cont=true;
        }
    }while(cont==false);
云长恨
2023-03-14

假设您的其余代码有效,您可以简单地更改if语句以确保条目有效。

使用OR运算符||

if (columnGuess <= 0 || columnGuess >= 10){
    System.out.println("Error: invalid Column");
}
 类似资料:
  • 类似雷神战机的飞机大战游戏,效果逼真,牛逼!美中不足是没有音效。 [Code4App.com]

  • 这是一个运行在 gPhone 手机的简易空战游戏,如下图所示:

  • 利用 cocos2d 制作的一个RPG回合制战斗游戏,包括人物在有障碍物的瓷砖地图中走动、回合制战斗场面,技能效果、抽奖效果。 作者说:(使用本网站代码里面的图片素材,望原作者见谅),算是自己琢磨一个月的总结吧,希望对像我一样的新手有点帮助,高手勿喷。 [Code4App.com]

  • 本文向大家介绍java实战之桌球小游戏,包括了java实战之桌球小游戏的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了java桌球小游戏的具体代码,供大家参考,具体内容如下 源码: 图片: 注意:images文件夹保持和src在同级目录下: 运行效果: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 本文向大家介绍js实现飞机大战游戏,包括了js实现飞机大战游戏的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了js实现飞机大战游戏的具体代码,供大家参考,具体内容如下 CSS部分的代码: JavaScript代码: 更多有趣的经典小游戏实现专题,分享给大家: C++经典小游戏汇总 python经典小游戏汇总 python俄罗斯方块游戏集合 JavaScript经典游戏 玩不停 jav

  • 本文向大家介绍python实现植物大战僵尸游戏实例代码,包括了python实现植物大战僵尸游戏实例代码的使用技巧和注意事项,需要的朋友参考一下 开发思路 完整项目地址:https://github.com/371854496/... 觉得还OK的话,点下Star,作者不易,thank you! 实现方法 1.引入需要的模块,配置图片路径,设置界面宽高背景颜色,创建游戏主入口。 2.文本绘制,创建要