>>分享Java编程技术,对《Java面向对象编程》等书籍提供技术支持 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 22177 个阅读者 刷新本主题
 * 贴子主题:  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面向对象编程-->集合(上)
  JavaWeb开发-->在Web应用中访问Web服务
  JSP与Hibernate开发-->通过JPA API检索数据
  Java网络编程-->非阻塞通信
  精通Spring-->通过Vuex进行状态管理
  Vue3开发-->Vue CLI脚手架工具
  [分享]遊藝場開分員會很難嗎?原來工作項目是這些!
  用VisualVM远程监控Java进程
  我是如何把一个15分钟的程序优化到了10秒的
  关于新书
  Java设计模式中的工厂模式和策略模式范例
  JDBC API中的桥接模式
  64匹马,8个赛道,找出跑得最快的4匹马
  Java中的受查异常与非受查异常区别
  面试必考-static、final和单例模式
  使用javaNIO实现C/S模式的通信
  Java设计模式:组合模式
  Java入门实用代码:死锁及解决方法
  Java入门实用代码:获取当前线程名称
  Java入门实用代码:向文件写入字符串
  关于Java中try finally return语句的执行顺序浅析
  更多...
 IPIP: 已设置保密
楼主      
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


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