gpt4 book ai didi

JAVA - 在默认情况下抛出异常

转载 作者:行者123 更新时间:2023-11-30 03:02:19 25 4
gpt4 key购买 nike

当我单击 WASD 时,我的元素应该朝某个方向行走。

我用 switch case 语句来处理这个问题。

但是,如果用户单击其他键怎么办?我将无法获得新职位。

我可以在默认情况下抛出一些异常,然后try {...} catch {...}吗?

下面是我的代码:

private boolean checkPos(String c) {
int newPosX, newPosY;

switch(c.toUpperCase().charAt(0)){
case 'W':
newPosX = oldPosX + 1;
break;
case 'A':
newPosY = oldPosY() - 1;
break;
case 'S':
newPosX = oldPosX() - 1;
break;
case 'D':
newPosY = oldPosY() + 1;
break;
default:
//throw exception???
return false;
}

System.out.println("input:" + c.toUpperCase().charAt(0));
System.out.println("OLD POSITION: (" + oldPosY() + ";" + oldPosX() + ")");
System.out.println("NEW POSITION: (" + newPosY + ";" + newPosX + ")");
}

有人可以帮我吗?

最佳答案

抛出异常似乎是一种非常糟糕的方法,因为它们很昂贵,并且只应在需要时使用,而不是您应该设置默认情况来告诉用户他们的输入无效并循环返回以请求一个新的输入。

default: System.out.println("Invalid data");
requestPos(); // which i presume will bring you back to checkpos with more data
break;

可能不需要打印出无效部分,但根据您的游戏,最好通知用户

关于JAVA - 在默认情况下抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35654612/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com