输入12*5-6.要将它转化为数组,调用tochar()的话,数组元素便是{1,2,*,5,-,6}了,请问有哪个函数可以解决这个问题啊.即我希望可以转化为{12,*,5,-,6},请高人指点啊.用的是java.

解决方案 »

  1.   

    哦,不对,split最后的效果没有符号了,用StringTokenizer可以
                       String s = "12*5-6";

    StringTokenizer tokenizer = null;
    tokenizer = new StringTokenizer(s,"+-*/",true);
    while(tokenizer.hasMoreTokens()){
    String s2 = tokenizer.nextToken();
    System.out.println(s2);
    }
      

  2.   

    可以看看这个帖子,原来写的表达式计算的东西,使用栈实现的。http://topic.csdn.net/u/20081030/14/0d47d767-0531-4045-9694-6977b93bdba0.html
      

  3.   

    String str = "12 * 5 - 16"; StringTokenizer st = new StringTokenizer(str, "*-", true); while (st.hasMoreTokens()) {
    System.out.println(st.nextToken());
    }
      

  4.   

    java.util.Scanner input = new Scanner(System.in);
                           String s = input.nextLine();
                            char[] cArray = s.toCharArray();
      

  5.   

    用split来分,先用“*”在用“-”,两次区分
      

  6.   

    http://blog.csdn.net/ZangXT/archive/2008/10/11/3056936.aspx
    这也是一种方法,用jdk6