gpt4 book ai didi

java - 字符比较不起作用

转载 作者:行者123 更新时间:2023-11-29 05:48:50 25 4
gpt4 key购买 nike

我必须编写一个程序制作一个二维数组并将其打印出来。然后我应该引导一个“角色”穿过这个迷宫。所以我想让它向上/向下/向左/向右移动。用户将被允许输入 u/U/d/D/l/L/r/R。

我输入的是如果其中一个没有输入,它会给我一个错误。但是,如果输入正确,它仍然会给我一个错误。

char move;                                          
System.out.println("Which way do you want to move? U/D/L/R");
move=stdin.nextLine().charAt(0);
while(move != 'u' || move !='U') {
while( move != 'd' || move != 'D'){
while( move != 'l' || move != 'L'){
while(move != 'r' || move != 'R'){
System.out.println("Invalid input. Try again.");
move = stdin.nextLine().charAt(0);
}}}}

最佳答案

试试这个:

Scanner stdin; 
stdin = new Scanner(System.in);

move = stdin.nextLine().charAt(0);;
move = Character.toUpperCase(move);

while(move !='U' && move != 'D' && move != 'L' && move != 'R' )
{
System.out.println("Invalid input. Try again.");
move = stdin.nextLine().charAt(0);
move = Character.toUpperCase(move);
}

您当前的代码没有意义。如果我键入 R(例如),这将使程序进入无限循环。因为,上面 while 的所有条件都会评估为真。因此,不会到达将要求另一个输入的指令 (stdin.nextLine())。

关于java - 字符比较不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14805894/

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