package date0610;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
/**
*@author TonyJ
*@time 2011-6-10 下午03:46:08
*/
public class Test02 {
private char arr[];
private int maxSize;
private int top;
public Test02(int s) {
arr = new char[s];
top = -1;
maxSize = s;
}
public void push(char c) {//进栈
arr[++top] = c;
}
public char pull() {//出栈
return arr[top--];
}
public char peek() {//取得栈头数据
return arr[top];
}
public boolean isEmpty() {//判断是否空
return top == -1;
}
public boolean isFull() {//判断栈是否已满
return top == maxSize - 1;
}
public static String getString() {//获得输入的字符串
String str = null;
BufferedReader br = null;
br = new BufferedReader(new InputStreamReader(System.in));
try {
System.out.println("请输入字符串:");
str = br.readLine();
} catch (IOException e) {
e.printStackTrace();
}
return str;
}
public static String reverse() {
String input = getString();
String output="";
Test02 t = new Test02(input.length());
for (int i = 0; i < input.length(); i++) {
t.push(input.charAt(i));
}
while (!t.isEmpty()) {
output =output+ t.pull();
}
return output;
}
public static void main(String[] args) {
System.out.println(reverse());
}
}
分享到:
相关推荐
本教程的详细资源包含在名为“Java实例 - 压栈出栈的方法实现字符串反转源代码-详细教程.rar”的压缩包中,涵盖了完整的Java源代码示例和详细的解释,非常适合初学者和有经验的开发者参考学习。通过学习这个实例,你...
这里我们将深入探讨如何在Java中实现字符串反转,同时也会涉及到字符串的基本原理和一些相关工具的使用。 首先,我们需要理解Java中的字符串。在Java中,字符串是由字符组成的不可变序列,通常表示为`String`类的...
2. **递归法**:通过递归调用来实现字符串反转,每次将第一个字符移到末尾,然后对剩余部分进行同样的操作。 3. **栈操作**:利用栈的后进先出(LIFO)特性,将字符串逐个字符入栈,再依次出栈得到反转的字符串。 ...
这篇课程设计论文的主题围绕着如何在Java中实现字符串反转功能,这涉及到以下几个核心知识点: 1. **字符串基础知识**:Java中的字符串是不可变的,即创建后不能更改。字符串对象通常使用`String`类表示,而`...
描述提到这些源程序涉及到字符串处理、内存管理和错误处理等方面,提示用户可以通过阅读readme文件来了解如何使用这些程序。 在C语言中,字符串处理是非常基础且重要的部分,它包括对字符数组的操作,如创建、复制...
这个文件可能是实现字符串反转功能的代码,可能包括多种不同的反转方法,如使用栈、双指针或者直接调用内置函数。 总的来说,"StringProject"这个项目提供了一个全面的字符串算法实践平台,涵盖了字符串搜索、反转...
这种方法展示了如何在Java中实现自定义的字符串操作。 3. 基于栈的字符串匹配: 这部分代码旨在实现一个简单的字符串匹配算法,尤其是针对特定模式如`?{ ?,? }?`。`StringMatch`类有一个`match()`方法,它使用栈...
5. 字符串反转:可以使用两个指针,一个从头开始向后移动,一个从尾开始向前移动,交换对应位置的字符,直到两个指针相遇。 6. 自定义strcpy函数:复制字符串,确保目标字符串足够大以容纳源字符串,同时需要检查...
19. `_ArrayToString`:将数组转换为单个字符串,元素之间用指定的分隔符分隔。 20. `_ArrayTrim`:去除数组中所有元素的前导或尾随字符。 21. `_ArrayUnique`:返回一维数组中唯一的元素,去除重复项。 此外,...
15. 子串查找:使用KMP或朴素算法实现字符串查找,返回首次出现的位置。 16. 指定位置查找子串:在特定索引开始查找,返回子串首次出现的索引。 17. 连续座位分配:用二维数组模拟,使用二维数组的遍历和搜索算法...
6. 反转该字符串,得到正确顺序的进制数。 在实际编码中,我们还需要考虑负数的进制转换,因为负数在不同的进制表示中可能会有特殊的符号。对于负数,我们通常转换其绝对值,然后再在其前面加上负号。 进制转换是...
在实现自定义表达式计算时,我们需要构建一个解析器来解析用户输入的字符串表达式。这个解析器通常由词法分析器(lexer)和语法分析器(parser)组成。词法分析器将输入的字符串分解成一个个称为“标记”(tokens)...
这里实现的功能是对包含空格的字符串进行单词级别的逆序操作,即将句子中的单词顺序反转,但保留每个单词内部的字符顺序不变。 【描述】中提到的具体示例是将句子"this is a string."逆序为"string a is this"。这...
字符串反转 - **知识点**:反转字符串中的字符顺序。 - **实现方法**: - 使用循环和临时变量交换字符位置。 #### 47. 数组元素获取 - **知识点**:从数组中获取特定位置的元素。 - **实现方法**: - 使用下标...
字符串操作通常涉及字符串反转、模式匹配等算法,可以通过双指针、滑动窗口等方法实现。 以上知识点是针对给定面试题目的解析,它们涵盖了数据结构(如二元查找树、栈、链表、数组)和算法(如动态规划、深度优先...
在 C++ 中,可以自定义一个字符串类来实现字符串的基本操作,如构造、复制、赋值等。这里给出一个简单的字符串类实现示例。 **2.2 成员函数实现** - **构造函数**:用于初始化字符串。 - **拷贝构造函数**:用于...
5. **字符串处理**:字符串在面试中经常出现,涉及模式匹配、字符串反转、最长回文子串等问题。掌握KMP算法、Manacher's Algorithm等可以有效处理这类问题。 6. **图论算法**:包括最短路径问题(Dijkstra算法、...
这可能涉及到栈(stack)数据结构,你可以考虑使用`java.util.Stack`类或者自定义一个栈结构。确保实现必要的方法,如`push()`, `pop()`, `peek()`, 和 `isEmpty()`等。 3. **打印数字金字塔** 这个任务需要你输出...
1. 字符串操作:可以使用StringBuilder或StringBuffer类的reverse()方法实现字符串反转;替换操作可以通过replace()或replaceAll()方法完成。 2. 数据类型转换:使用Integer.parseInt()或Double.parseDouble()将字符...