是否可以比较Processing中的两个字符?

时间:2012-07-25 12:01:07

标签: string char compare character processing

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

3 个答案:

答案 0 :(得分: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()));

答案 1 :(得分:1)

也许你可以在将char转换(字符串化)为字符串后传递参数。

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

答案 2 :(得分:0)

是的。只需使用==,因为它被解释为char数据类型。 这假设你已经从字符串中分割了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()