数值转换+括号匹配+行编辑程序+迷宫求解+表达式求值

  1. package com.mycompany.data.structure.line.stack;
  2. /**
  3. *
  4. * @author wyman
  5. */
  6. public class Test {
  7. public static void main(String[] arge) {
  8. // transformation_8(1348);
  9. String vars = "{[(aa),(bb)](大帅)}";
  10. match_brackets(vars);
  11. }
  12. public static void transformation_8(int a) {
  13. SequenceStack ss = new SequenceStack();;
  14. while (a > 0) {
  15. System.out.print(a % 8);
  16. ss.push(a % 8);
  17. a = a / 8;
  18. }
  19. System.out.println();
  20. while (!ss.StackEmpty()) {
  21. System.out.print(ss.pop());
  22. }
  23. }
  24. public static void match_brackets(String vars) {
  25. SequenceStack ss = new SequenceStack();
  26. char varChar[] = vars.toCharArray();//利用toCharArray方法转换
  27. for (int i = 0; i < varChar.length; i++) {
  28. char var = varChar[i];
  29. if (var == '[' || var == '{' || var == '(') {
  30. ss.push(var);
  31. // System.out.println(var);
  32. }
  33. if (var == ']' || var == '}' || var == ')') {
  34. char kuohao = (char) ss.pop();
  35. System.out.println(kuohao + "" + var);
  36. }
  37. }
  38. System.out.print(ss.top);
  39. }
  40. }