我有一个数组 (25*ax+c-d/2),我想将所有内容放入堆栈中,然后删除运算符 ( *;+;-;/) 并在末尾添加 (25;ax;c ;d) 在堆栈实现中。
现在我有:
import java.util.*;
public class StackDemo {
public static void main(String args[])
{
//Creating array
ArrayList<String> al = new ArrayList<String>();
//Adding to array
al.add("25*ax+c-d/2");
//Creating a stack
Stack<String> STACK = new Stack<String>();
//Adding array to stack
for(String str : al)
STACK.add(str);
// Displaying the Stack
System.out.println("Initial Stack: " + STACK);
}
}
我知道我将所有内容分组在同一堆栈位置,但如何分离然后删除运算符?
最佳答案
您可以使用正则表达式用运算符拆分表达式:
public static void main(String[] args) {
//Creating array
List<String> al = Arrays.asList("25*ax+c-d/2".split("[\\*+/-]"));
//Creating a stack
Stack<String> STACK = new Stack<String>();
//Adding array to stack
for(String str : al)
STACK.add(str);
// Displaying the Stack
System.out.println("Initial Stack: " + STACK);
}
输出:
Initial Stack: [25, ax, c, d, 2]
关于java - java中的数组到堆栈,并删除运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58501568/