>>分享Java编程技术,对《Java面向对象编程》等书籍提供技术支持 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 30510 个阅读者 刷新本主题
 * 贴子主题:  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开发-->集合(上)
  JSP与Hibernate开发-->Servlet技术详解(Ⅰ)
  Java网络编程-->Servlet技术详解(Ⅱ)
  精通Spring-->
  Vue3开发-->映射一对多关联关系
  解决javac编译错误: 编码UTF8/GBK的不可映射字符
  Java虚拟机进行类连接的原理
  Java虚拟机安全性-class文件检验器
  Java如何遍历Enumeration
  ThreadLocal的内存泄露的原因分析以及如何避免
  我是如何把一个15分钟的程序优化到了10秒的
  搞定这24道JVM面试题,要价30k都有底气
  Java并发编程之验证volatile不能保证原子性
  如何优雅地打印一个Java对象?
  面试必考-static、final和单例模式
  Java设计模式:迭代器模式
  正则表达式性能调优
  Java入门实用代码:删除一个文件目录
  初学者该学哪种编程语言
  类加载中的双亲委派模型
  更多...
 IPIP: 已设置保密
楼主      
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


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