gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 09:23:31 24 4
gpt4 key购买 nike

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

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com