gpt4 book ai didi

java - java while 循环条件

转载 作者:行者123 更新时间:2023-12-01 18:07:02 26 4
gpt4 key购买 nike

String userGuessParameters = "a,b";

while (!Character.isDigit(userGuessParameters.charAt(0)) ||
!Character.isDigit(userGuessParameters.charAt(2)) ||
userGuessParameters.length() != 3 ||
(int)(userGuessParameters.charAt(0)) >= parameters[0] ||
(int)(userGuessParameters.charAt(2)) >= parameters[1]) {

System.out.print("Mida kaevame (rida, veerg): ");
userGuessParameters = userInput.nextLine();
userGuessParameters = userGuessParameters.replaceAll(" ", "");
}

我试图检查 while 循环中是否满足所有必需的条件。 parameters 是用户以数组形式输入的内容。我们假设 parameters = [4, 4](Parameters 用于创建 4x4 map )。

我需要 userGuessParameters 为:

  1. 数字
  2. 长度等于 3(当删除空格时,输入看起来像这样:2,2)
  3. 小于最大坐标(3,3)

但由于某种原因,循环永远不会退出。我几乎可以肯定这是因为 while 循环中的最后两个条件,但我找不到错误。

最佳答案

当您应该使用 AND 时,您正在使用逻辑 OR 运算符(您希望满足所有条件,而不仅仅是 < em>至少其中一个)。

使用java notation对于AND,它是&&:

(!Character.isDigit(userGuessParameters.charAt(0)) &&
!Character.isDigit(userGuessParameters.charAt(2)) &&
userGuessParameters.length() != 3 &&
(int)(userGuessParameters.charAt(0)) >= parameters[0] &&
(int)(userGuessParameters.charAt(2)) >= parameters[1])

关于java - java while 循环条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35601517/

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