0

我是一名新手程序员,我正在尝试比较来自不同字符串的两个字符,这样我就可以从每个字符串中给出一个任意索引并检查它们是否匹配。从处理网站看来,您可以比较两个字符串,我已经这样做了,但是当我尝试使用字符进行比较时,参数 (char,char) 似乎不适用。有人可以告诉我哪里出错了吗?谢谢。

4

3 回答 3

2

您可以使用StringcharAt()方法/函数从所需索引处的每个字符串中获取字符,然后简单地比较:

String s1 = ":)";
String s2 = ";)";

void setup(){
  println(CompareCharAt(s1,s2,0));
  println(CompareCharAt(s1,s2,1));
}

boolean CompareCharAt(String str1,String str2,int index){
  return s1.charAt(index) == s2.charAt(index);
}

请注意,当您比较字符串==没有帮助时,您需要使用字符串的equal()

String s1 = ":)";
String s2 = ";)";

println(s1.equals(s2));
println(s1.equals(":)"));

此外,如果数据来自外部来源,则在使用相同大小写时比较两个字符串通常是个好主意:

println("MyString".equals("myString"));
println("MyString".toLowerCase().equals("myString".toLowerCase()));
于 2012-07-25T17:45:39.243 回答
1

也许您可以在将字符转换(类型转换)为字符串后传递参数。

(字符串(字符),字符串(字符))

于 2012-07-25T12:09:21.093 回答
0

是的。只需使用 == 因为它被解释为 char 数据类型。这是假设您已经从字符串中拆分了字符...

char a = 'a';
char b = 'a';
if(a == b) {
 // etc
}

如上所述,使用 .equals() 进行字符串比较。

String a = "a";
String b = "a";
if(a.equals(b)) {
 // etc
}

此外,将 char 转换为 String 的正确方法是 str() 而不是 string()

于 2012-07-25T18:14:17.193 回答