爲什麼字符串比較失敗?Java字符串比較失敗
package javaapplication57;
/**
*
* @author amit
*/
public class JavaApplication57 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
String a = "anagram";
String b = "margana";
int len = a.length();
char[] temp = a.toCharArray();
char[] temp2 = b.toCharArray();
int len2 = b.length();
for(int j = 0; j<len-1; j++)
{
for(int i = 0; i<len-1; i++)
{
if(temp[i]>temp[i+1])
{
char t = temp[i];
temp[i] = temp[i+1];
temp[i+1] = t;
}
}
}
//System.out.println(temp);
for(int j = 0; j<len2-1; j++)
{
for(int i = 0; i<len2-1; i++)
{
if(temp2[i]>temp2[i+1])
{
char t = temp2[i];
temp2[i] = temp2[i+1];
temp2[i+1] = t;
}
}
}
//System.out.println(temp2);
if(temp.equals(temp2))
{
System.out.println("yes");
}
}
}
請解釋「失敗」是什麼意思 - 你期望這段代碼做什麼,它沒有做什麼? –
'temp'和'temp2'是'char []',並且在它們之間使用'equals'不起作用(它不會像你認爲的那樣)。試試這個:'if(Arrays.equals(temp,temp2))' – Jesper
究竟是什麼問題?它在哪裏失敗?你的代碼是做什麼的?它應該做什麼? –