程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> stringbuffer-字符串逆序輸出,並判斷前後是否相等

stringbuffer-字符串逆序輸出,並判斷前後是否相等

編輯:編程解疑
字符串逆序輸出,並判斷前後是否相等

package lab10_4;

/**
*

  • @author Administrator
    */
    import java.util.Scanner;
    public class Lab10_4 {

    /**

    • @param args the command line arguments
      */
      public static void main(String[] args) {
      // TODO code application logic here
      Scanner scan=new Scanner(System.in);
      System.out.print("請輸入一個字符串:");

      StringBuffer s=new StringBuffer(scan.nextLine());
      System.out.print("逆序後的字符串是:");
      StringBuffer s1=new StringBuffer("");
      for( int i=s.length()-1;i>=0;--i){
      System.out.print(s.charAt(i));
      s1.append(s.charAt(i));
      }
      s1.toString();
      s.toString();
      System.out.println();
      System.out.print(s.equals(s1));

    }

}
圖片說明
為什麼輸出的是false

最佳回答:


哈哈哈哈,這道題還是考細致的。朋友,System.out.print(s.equals(s1)); 這裡的s和s1你再仔細看看是什麼類啊,雖然你s.toString();但是你s還是StringBuffer類啊
,而StringBufferl類沒有實現equals的方法,所以它用的還是Object繼承而來的equals()方法,當然是false了。
我想,你其實代碼是想寫成這樣的

    String s2  =  s1.toString();
    String s3   =  s.toString();
    System.out.println();
    System.out.print(s2.equals(s3));
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved