2012-07-25 46 views
0

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

回答

1

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

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

+0

谢谢,我只是检查了处理数据类型转换指令,并试图你的建议。它给出了这个错误:函数字符串(char)不存在 – 2012-07-25 13:05:53

+0

尝试“char.toString()” – Kidus 2012-07-25 17:55:27

+1

嗨,谢谢,我用:Character.toString('CharX')似乎已经完成了诀窍... – 2012-07-29 14:54:24

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())); 
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作为字符串的正确方法是STR()不串()