[英]palindrome check comparing 2 strings Java
您好,我使用2種不同的方法來檢查單詞是否屬於回文。.1種方法是硬編碼的(這可以按預期工作),另一種是我使用Stringbuilder的,但我始終將輸出為true且從不為false。 我不明白為什么在不進行硬編碼時它不起作用...這是我用於測試的代碼。 (評論的variabels工作)
public static void main(String[] args) {
StringBuilder a = new StringBuilder("did");
StringBuilder b = a.reverse();
// String a = "did";
// String b = "dad";
if(b.equals(a)) {
System.out.println("true");
}
else {
System.out.println("false");
}
System.out.println(b);
}
因為, StringBuilder#reverse
會進行原地反轉。 所以, a.reverse()
也會改變的值a
。
您可以創建StringBuilder
的副本。
StringBuilder a = new StringBuilder("did");
StringBuilder b = new StringBuilder(a);
if (b.toString().equals(a.reverse().toString())) {
System.out.println("true");
} else {
System.out.println("false");
}
您需要使用toString()
比較內容。 在StringBuilder實例上使用equals
將比較references
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.