就是IO那一段还没学到。

之前的PUCH,POP,STRING和CHAR的关系搞得懂了。

学到一个定位STRING当中CHAR的转换函数。

char = String.charAt(x)

  1 import java.io.*;
  2
  3
  4 class stackString
  5 {
  6     private int maxSize;
  7     private char[] stackX;
  8     private int top;
  9
 10     public stackString(int s)
 11     {
 12         maxSize = s;
 13         stackX = new char[maxSize];
 14         top = -1;
 15     }
 16     public void push(char j)
 17     {
 18         stackX[++top] = j;
 19     }
 20     public char pop()
 21     {
 22         return stackX[top--];
 23     }
 24     public char peek()
 25     {
 26         return stackX[top];
 27     }
 28     public boolean isEmpty()
 29     {
 30         return (top == -1);
 31     }
 32     public boolean isFull()
 33     {
 34         return (top == maxSize - 1);
 35     }
 36 }
 37 class Reverser
 38 {
 39     private String input;
 40     private String output;
 41
 42     public Reverser(String in)
 43     {
 44         input = in;
 45     }
 46     public String doRev()
 47     {
 48         int stackSize = input.length();
 49         stackString stackStringRev = new stackString(stackSize);
 50
 51         for(int i = 0; i < stackSize; i++)
 52         {
 53             char charInString = input.charAt(i);
 54             stackStringRev.push(charInString);
 55         }
 56         output = "";
 57         while(!stackStringRev.isEmpty())
 58         {
 59             char ch = stackStringRev.pop();
 60             output = output + ch;
 61         }
 62         return output;
 63
 64     }
 65
 66 }
 67 public class StackApp {
 68
 69     /**
 70      * @param args
 71      */
 72     public static void main(String[] args) throws IOException {
 73         // TODO Auto-generated method stub
 74         String input, output;
 75
 76         while(true)
 77         {
 78             System.out.print("Enter a string: ");
 79             System.out.flush();
 80             input = getString();
 81             if(input.equals(""))
 82                 break;
 83
 84             Reverser testStringRev = new Reverser(input);
 85             output = testStringRev.doRev();
 86             System.out.println("Reversed : " + output);
 87
 88
 89         }
 90
 91     }
 92     public static String getString() throws IOException
 93     {
 94         InputStreamReader isr = new InputStreamReader(System.in);
 95         BufferedReader br = new BufferedReader(isr);
 96         String s = br.readLine();
 97         return s;
 98
 99     }
100
101 }

转载于:https://www.cnblogs.com/aguncn/archive/2013/05/03/3056992.html

JAVA-用栈机制实现单词逆序排列相关推荐

  1. 字符串按照单词为单位逆序排列

    我们前面已经写过一个简单字符串逆序排序的方法,这里再开一个字符串排序问题: 给定一个字符串"I love China",编写程序完成以单词为单位的逆序,如"China l ...

  2. 对于一个十进制数A,将A转换为二进制数,然后按位逆序排列,再转换为十进制数(Java)

    package Four; /**题目描述* 对于一个十进制数A,将A转换为二进制数,然后按位逆序排列,再转换为十进制数* B就是A的二进制逆序数* 输入一个1000位以内的十进制整数 * */imp ...

  3. 编写一个Java应用程序。用户从键盘输入一个1~99999之间的数,程序将判断这个数是几位数,并判断这个数是否是回文数。回文数是指将该数含有的数字逆序排列后得到的数和原数相同,例如12121、3223

    编写一个Java应用程序.用户从键盘输入一个1-99999之间的数,程序将判断这个数是几位数,并判断这个数是否是回文数.回文数是指将该数含有的数字逆序排列后得到的数和原数相同,例如12121.3223 ...

  4. 【c语言】数组逆序排列

    问题描述 编写一个程序,读入一组整数(不超过20个),并把它们保存在一个整型数组中.当用户输入0时,表示输入结束.然后程序将把这个数组中的值按逆序重新存放,并打印出来.要求:(1)只能定义一个数组:( ...

  5. 将一个链表按逆序排列

    将一个链表按逆序排列,即将链头当链尾,链尾当链头. 源程序: #include <stdio.h> #include <malloc.h> #define LEN sizeof ...

  6. python【蓝桥杯vip练习题库】ADV-103逆序排列

    试题 算法提高 逆序排列 资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述 编写一个程序,读入一组整数(不超过20个),并把它们保存在一个整型数组中.当用户输入0时,表示输入结束.然后 ...

  7. 10.14 将n个数按输入输出顺序的逆序排列,用函数实现

    将n个数按输入输出顺序的逆序排列,用函数实现. #include <stdio.h>int main(){int n,i;void reverse(int * num, int n);pr ...

  8. 按单词逆序句子(含标点)

    主要思想:先写出单词逆序的函数,再写整个句子逆序的函数(在其中查找单词,找到后调用单词逆序的函数逆序,最后将整个句子逆序). 程序缺点:只能识别几个常用的标点符号 源代码及测试程序: //给定一个字符 ...

  9. C语言反序输出英文句子,C++实现英文句子中的单词逆序输出的方法

    本文实例讲述了C++实现英文句子中的单词逆序输出的方法.分享给大家供大家参考,具体如下: #include "stdafx.h" #include #include #includ ...

最新文章

  1. 如何通过中序和层序序列建立二叉树
  2. python代码删掉了几行怎么撤回_78行Python代码实现现微信撤回消息功能
  3. 中间件中渲染Razor视图
  4. 网络常见的 9 大命令
  5. 9个开源自动化测试框架,质量保证测试工程师用起来
  6. opencv 学习第三课 画线段 圆 椭圆 矩形 多边形 插入文字 代码注释版 保证你每一行都能读懂
  7. 第 89 章 Hardware
  8. PDMS二次开发应用案例——PipelineTool
  9. MTK Camera HAL到驱动的流程总结一
  10. springboot springcloud 启动优化、性能优化
  11. 使用STM32CubeMX创建USB MSC工程
  12. PPT柱形统计图制作详情——小白秒变大神
  13. Python - 列表补充(二)
  14. 小学五年级计算机教学论文,五年级小学英语教学论文【三篇】
  15. html中图片放css还是,图片到底是写在html还是写在css呢
  16. 关于Microsofe Visio,如果设置图层大小与绘图适应?
  17. java odbc excel_利用odbc连接excel,解决中文乱码问题。
  18. MySQL数据库操作补坑(一)数据类型
  19. MATLAB 深度学习部署到树莓派问题解决方法
  20. IE(Internet Explorer)重装失败,出现“出现错误。并非所有的功能被成功更改”的错误

热门文章

  1. 五、Vue模块化开发学习笔记——JavaScript原始功能、匿名函数的解决方案、使用模块作为出口、CommonJS、ES6 export和import的使用
  2. 三、关于网页布局你该知道这些!(布局总结:标准流、浮动、定位)
  3. LeetCode 1676. 二叉树的最近公共祖先 IV
  4. LeetCode 1263. 推箱子(BFS+DFS / 自定义哈希set)
  5. LeetCode 1228. 等差数列中缺失的数字
  6. 数据结构--二叉树 Binary Tree
  7. crontab 执行php脚本,为什么crontab没有执行我的PHP脚本?
  8. java set hashcode_Java学习笔记_180724_HashSet_hashCode()
  9. 爬虫小案例:基于Bing关键词批量下载图片
  10. python中的类方法和静态方法