sinat_34794545 2016-04-26 02:55 采纳率: 0%
浏览 2091
已采纳

字符串逆序输出,并判断前后是否相等

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

  • 写回答

6条回答

  • 一只程序渣 2016-04-26 03:08
    关注

    哈哈哈哈,这道题还是考细致的。朋友,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));
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?
  • ¥100 求三轴之间相互配合画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题