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 三菱伺服电机按启动按钮有使能但不动作
  • ¥20 为什么我写出来的绘图程序是这样的,有没有lao哥改一下
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥200 关于#c++#的问题,请各位专家解答!网站的邀请码
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥15 绘制多分类任务的roc曲线时只画出了一类的roc,其它的auc显示为nan
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?