java - java中的数组到堆栈,并删除运算符

标签 java arrays stack

我有一个数组 (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/

相关文章:

php - 将字符串拆分为日期数组

c - 如何不使用队列,堆栈或数组来解决此问题?

java - 添加代码打包私有(private)库方法

javascript - 已删除数组元素的垃圾收集

java - 依赖注入(inject) : Scoping by region (Guice, Spring,随便)

arrays - 以字符串格式对包含日期的数组进行排序

opengl - 如何将 "clear color"插入属性堆栈

c++ - 以下程序中创建的用于 map 初始化的临时变量在哪里

java - Git 流 : How to configure a one-click release process in Jenkins?

java - Dagger2子组件如何注入(inject)到Fragment中?