>>分享Java编程技术,对《Java面向对象编程》等书籍提供技术支持 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 21829 个阅读者 刷新本主题
 * 贴子主题:  Java入门实用代码:压栈出栈的方法实现字符串反转 回复文章 点赞(0)  收藏  
作者:flybird    发表时间:2020-01-21 23:44:33     消息  查看  搜索  好友  邮件  复制  引用

  

Java 实例 - 压栈出栈的方法实现字符串反转

以下实例演示了使用用户自定义的方法 StringReverserThroughStack() 来实现字符串反转:                      

StringReverserThroughStack.java 文件

import   java . io . IOException ;

public   class   StringReverserThroughStack   {
    private   String   input ;
    private   String   output ;
    public   StringReverserThroughStack ( String   in )   {
       input  =  in ;
    }
    public   String   doRev ( )   {
       int   stackSize  =  input . length ( ) ;
       Stack   theStack  =  new   Stack ( stackSize ) ;
       for   ( int   i  =  0 ;  i  <  input . length ( ) ;  i ++ )   {
          char   ch  =  input . charAt ( i ) ;
          theStack . push ( ch ) ;
       }
       output  =  " " ;
       while   ( ! theStack . isEmpty ( ) )   {
          char   ch  =  theStack . pop ( ) ;
          output  =  output  +  ch ;
       }
       return   output ;
    }
    public   static   void   main ( String [ ]   args )  
    throws   IOException   {
       String   input  =  " www.javathinker.net " ;
       String   output ;
       StringReverserThroughStack   theReverser  =
       new   StringReverserThroughStack ( input ) ;
       output  =  theReverser . doRev ( ) ;
       System . out . println ( " 反转前:  "  +  input ) ;
       System . out . println ( " 反转后:  "  +  output ) ;
    }
    class   Stack   {
       private   int   maxSize ;
       private   char [ ]   stackArray ;
       private   int   top ;
       public   Stack ( int   max )   {
          maxSize  =  max ;
          stackArray  =  new   char [ maxSize ] ;
          top  = - 1 ;
       }
       public   void   push ( char   j )   {
          stackArray [ ++ top ]  =  j ;
       }
       public   char   pop ( )   {
          return   stackArray [ top -- ] ;
       }
       public   char   peek ( )   {
          return   stackArray [ top ] ;
       }
       public   boolean   isEmpty ( )   {
          return   ( top  == - 1 ) ;
       }
    }
}

以上代码运行输出结果为:

反转前: www.javathinker.net
反转后: net.javathinker.www


程序猿的技术大观园:www.javathinker.net



[这个贴子最后由 flybird 在 2020-01-26 12:18:57 重新编辑]
  Java面向对象编程-->Java语言中的修饰符
  JavaWeb开发-->JavaWeb应用入门(Ⅱ)
  JSP与Hibernate开发-->映射对象标识符
  Java网络编程-->Java网络编程入门
  精通Spring-->Vue组件开发基础
  Vue3开发-->绑定CSS样式
  利用堆栈将中缀表达式转换成后缀表达式
  10道Java编程基础练习题
  详细介绍float和double类型的区别
  搞定这24道JVM面试题,要价30k都有底气
  被迫重构代码,这次我干掉了 if-else
  面试问我,创建多少个线程合适?我该怎么说
  Java并发之volatile关键字内存可见性问题
  Java注解的定义和使用
  Java多线程volatile详解
  Eclipse使用指南:Debug 配置
  Java入门实用代码:修改链表LinkedList
  Java入门实用代码:自定义异常
  JAVA日期加减运算
  通过java.net.URL类连接HTTP服务器时获取响应结果的头部信息
  JDBC使用8.0驱动包连接mysql设置时区serverTimezone
  更多...
 IPIP: 已设置保密
树形列表:   
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


中文版权所有: JavaThinker技术网站 Copyright 2016-2026 沪ICP备16029593号-2
荟萃Java程序员智慧的结晶,分享交流Java前沿技术。  联系我们
如有技术文章涉及侵权,请与本站管理员联系。