gpt4 book ai didi

java - 如何检查字符串的一部分是否为小写?

转载 作者:行者123 更新时间:2023-12-01 17:35:59 30 4
gpt4 key购买 nike

我想编写一个方法来检查给定输入的拼写是否像名字。

例如:输入“Jim”应返回 true(或在我的代码中为“okay”),而“pam”甚至“pAM”应返回 false(在我的代码中为“erro”)。

现在,该方法始终只返回“erro”。

ch1 = name.charAt(characterIndex);

while (loop <= numChars) { // numChars is the length of the word I put in, loop being what letter I start at.
for (int i = 97; i < 123; i++) { // goes through the ASCII values for all the lowercase letters. 97 = a, 122 = z {
if (ch1 == i) // ch1 is the character that is currently being checked.
continue;
else { // THE ISSUE
answer = "Erro"; // "Erro" is short for "Error" which I will check for in my implementing of the code
break;
}
}

if (answer != "Erro") { // checking if I get an error or not
loop++;
characterIndex++;
ch1 = name.charAt(characterIndex);
} else {
break;
}
}

if (answer != "Erro")
answer = "okay"; // I could have put anything here, but this is when things go right.

return answer; // I keep getting the result of Error, even when I explicitly give it an 'a'

最佳答案

如果我正确理解您的问题,如果输入包含大写字母,您希望返回一个字符串,如果不包含大写字母,则返回另一个字符串。为什么不直接返回一个 boolean 值呢?这就是我解决你的问题的方法:

public static boolean containsUppercase(String input) {
if(Character.isLowerCase(input.charAt(0))) // If the first letter is lowercase return false
return false;

for(int i = 1; i < input.length(); i++)
if(Character.isUpperCase(input.charAt(i)))
return true;

return false;
}

好的,以下是您的代码的一些问题:

  • 您可以使用 ==!= 来检查字符串是否相等。请改用 .equals(...)
  • 您的第一个 for 循环仅接受小写“a”。
  • 您正在存储一个答案,您可以将其存储为 boolean 值,但在出现问题时立即返回结果会更明智。

关于java - 如何检查字符串的一部分是否为小写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61040854/

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