簡體   English   中英

回文檢查比較2個字符串Java

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM