Advertisement
Guest User

Untitled

a guest
Mar 4th, 2015
236
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.71 KB | None | 0 0
  1. package kodut3;
  2.  
  3. public class FormatMachine {
  4. final int INI = 0;//algstage
  5. final int CH = 1;// eelmine oli täht
  6. final int KM = 2;// eelmine oli kirjavahemärk või sulgev sulg
  7. final int AS = 3;// eelmine oli avav sulg
  8. final int T = 4; //kui eelmine oli tühik
  9. char[] margid ={',', ':',';','.','!','?'};
  10. int state = INI;
  11.  
  12. public void checker(char c){
  13. if (c == '\n') state= INI;
  14. if (c == ' ') state= T;
  15. if (c=='(') state = AS;
  16. if (Character.isLetter(c)) state=CH;
  17. boolean contains = false;
  18. for (char e : margid) {
  19. if (e == c) {
  20. contains = true;
  21. break;
  22. }
  23. }
  24. if (contains) {
  25. state=KM;
  26. }
  27. }
  28.  
  29. public String process(char c) {
  30. switch (state) {
  31. case INI:
  32. checker(c);
  33. switch(state){
  34. case T:
  35. //ei tagasta midagi
  36. break;
  37. case AS:
  38. case KM:
  39. case CH:
  40. case INI:
  41. }
  42. break;
  43. case CH:
  44. checker(c);
  45. switch(state){
  46. case AS:
  47. //tagastame tühik+c
  48. break;
  49. case KM:
  50. case CH:
  51. case INI:
  52. case T:
  53. }
  54. break;
  55. case KM:
  56. checker(c);
  57. switch(state){
  58. case CH://tagastame tühik+c
  59. break;
  60. case KM:
  61. case AS:
  62. case INI:
  63. case T:
  64. }
  65. break;
  66. case AS:
  67. checker(c);
  68. switch(state){
  69. case T://ei tagasta midagi
  70. break;
  71. case KM:
  72. case AS:
  73. case INI:
  74. case CH:
  75. }
  76. break;
  77. case T:
  78. checker(c);
  79. switch(state){
  80. case T:
  81. break;
  82. case KM:
  83. case AS:
  84. case INI:
  85. case CH:
  86. }
  87. break;
  88. }
  89. return ""+c;
  90. }
  91. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement