Advertisement
niske

Untitled

Apr 8th, 2024
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.18 KB | None | 0 0
  1. /**
  2. * Napraviti klasu koja predstavlja jednostruko povezanu listu znakova
  3. * (char). Koristiti najjednostavnije dodavanje na početak. Napisati p-
  4. * rogram koji učitava n znakova i smešta ih u instancu napravljene kl-
  5. * ase. U klasu dodati metode koji omogućavaju sledeće operacije i poz-
  6. * vati ih iz glavnog programa:
  7. *
  8. * a) štampanje samo znakova koji su velika slova
  9. * b) izbacivanje svih znakova koji su mala slova
  10. * c) izdvajanje u novu listu svih znakova koji su cifre. Rezultat - n-
  11. * ov objekat istog tipa lista, koristi se ista memorija za elemente
  12. * a elementi u novoj listi treba da su u istom redosledu kao u ori-
  13. * ginalnoj listi.
  14. */
  15.  
  16. class N03Z02P02 {
  17.  
  18. public static void main(String[] args) {
  19.  
  20. Lista lista = new Lista();
  21.  
  22. int n = Svetovid.in.readInt("Broj elemenata: ");
  23.  
  24. for (int i = 0; i < n; i++) {
  25. char c = Svetovid.in.readChar("Element br. " + i + ": ");
  26. lista.dodajNaPocetak(c);
  27. }
  28.  
  29. System.out.println(lista);
  30.  
  31. System.out.println(lista.velikaSlova());
  32.  
  33. //~ lista.izbaciMalaSlova();
  34.  
  35. System.out.println(lista);
  36.  
  37. Lista cifre = lista.izdvojCifre();
  38.  
  39. System.out.println(cifre);
  40. }
  41.  
  42. }
  43.  
  44. class Lista {
  45.  
  46. class Element {
  47.  
  48. char info;
  49. Element veza;
  50.  
  51.  
  52. public Element(char info) {
  53. this.info = info;
  54. this.veza = null;
  55. }
  56.  
  57.  
  58. public String toString() {
  59. return info + "";
  60. }
  61. }
  62.  
  63.  
  64. Element prvi;
  65.  
  66.  
  67. public void dodajNaPocetak(char info) {
  68.  
  69. Element novi = new Element(info);
  70.  
  71. novi.veza = prvi;
  72. prvi = novi;
  73. }
  74.  
  75.  
  76. public Lista izdvojCifre() {
  77.  
  78. if (prvi == null)
  79. return null;
  80.  
  81. Lista cifre = new Lista();
  82.  
  83. Element pom;
  84.  
  85. while (prvi != null && Character.isDigit(prvi.info)) {
  86.  
  87. pom = prvi.veza;
  88.  
  89. prvi.veza = cifre.prvi;
  90. cifre.prvi = prvi;
  91.  
  92. prvi = pom;
  93. }
  94.  
  95. Element tek = prvi;
  96.  
  97. while (tek != null) {
  98.  
  99. if (Character.isDigit(tek.info)) {
  100.  
  101. pom = tek.veza;
  102.  
  103. tek.veza = cifre.prvi;
  104. cifre.prvi = tek;
  105.  
  106. tek = pom;
  107. } else {
  108.  
  109. tek = tek.veza;
  110. }
  111. }
  112.  
  113. return cifre;
  114. }
  115.  
  116.  
  117. public void izbaciMalaSlova() {
  118.  
  119. if (prvi == null)
  120. return;
  121.  
  122. while ('a' <= prvi.info && prvi.info <= 'z')
  123. prvi = prvi.veza;
  124.  
  125. Element pret = prvi;
  126.  
  127. while (pret.veza != null) {
  128.  
  129. if ('a' <= pret.veza.info && pret.veza.info <= 'z')
  130. pret.veza = pret.veza.veza;
  131. else
  132. pret = pret.veza;
  133. }
  134. }
  135.  
  136.  
  137. public String velikaSlova() {
  138.  
  139. String output = "[ Velika slova : ";
  140.  
  141. Element tek = prvi;
  142.  
  143. while (tek != null) {
  144.  
  145. if ('A' <= tek.info && tek.info <= 'Z')
  146. output += tek + " ";
  147.  
  148. tek = tek.veza;
  149. }
  150.  
  151. return output + "]";
  152. }
  153.  
  154.  
  155. public String toString() {
  156.  
  157. String output = "[ Lista : ";
  158.  
  159. Element tek = prvi;
  160.  
  161. while (tek != null) {
  162.  
  163. output += tek + " ";
  164. tek = tek.veza;
  165. }
  166.  
  167. return output + "]";
  168. }
  169. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement