gpt4 book ai didi

java - 比较两个 char 值的内容

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

我正在尝试比较两个 char 值的内容,但收到以下错误:“无法对基本类型 char 调用 equals(char)”错误。我知道问题出在第 5 行,但我不知道如何克服这个问题,有什么想法吗?

  public static int charPosition(String word, char letter){
int answer=0, x;
char [] charArray = word.toCharArray();
for( x=0; x< word.length(); x++){
if(charArray[x].equals(letter)){ answer =x;}
else{ answer= -1;}
}
return answer;
}

最佳答案

比较char时,使用==,而不是.equals。后者用于比较对象(例如 String),而不是像 char 这样的基元。

所以:

public static int charPosition(String word, char letter) {
int answer = 0, x;
char[] charArray = word.toCharArray();
for (x = 0; x < word.length(); x++) {
if (charArray[x] == letter) { // <−−−−−− Change is here
answer = x;
} else {
answer = -1;
}
}
return answer;
}

但是,这个循环还有更多错误:

  1. 找到字符后需要终止循环,并且

  2. 您应该首先将 answer 设置为 -1,并且

  3. 只要你有一个数组,你不妨使用它的length来代替Stringlength() :

所以:

public static int charPosition(String word, char letter) {
int answer = -1, x;
char[] charArray = word.toCharArray();
for (x = 0; x < charArray.length; x++) { // <−−−
if (charArray[x] == letter) { // <−−−
answer = x;
break; // <−−−
}
}
return answer;
}

关于java - 比较两个 char 值的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44478320/

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