关于java方面的问题
我遇到了一个问题,定义一个字符串的表达式,然后分别把它压入运算符的栈中和数字栈中,求代码怎么写(用Java语言写)
--------------------编程问答--------------------
怎么没人来解答呢
--------------------编程问答--------------------
不知道是不是正确的理解了 你的意思 下面的代码你可以看看
import java.util.Stack;
public class Test {
public static void main(String[] args){
String s="12-13+14-14-11-11";
//创建栈
Stack<Integer> numStack=new Stack<Integer>();
Stack<Character> signStack=new Stack<Character>();
//将字符串转换char数组
char[] chs=s.toCharArray();
//遍历数组
String s1=new String();
for(char ch:chs){
//判断是不是数字
if(Character.getNumericValue(ch)==-1){
signStack.push(ch);
//遇到符号将前面的字符组成1个整体,并存入栈中
numStack.push(Integer.valueOf(s1));
s1=new String();
}else {
s1+=String.valueOf(ch);
}
}
//打印栈,这里打印出来的是存入栈的顺序
System.out.println(signStack);
System.out.println(numStack);
}
}
补充:Java , Java相关