University stuff.
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. import java.util.ArrayList;
  2. import java.util.Scanner;
  3. import java.io.File;
  4. class Ordliste {
  5. private ArrayList<Ord> ordliste = new ArrayList<Ord>();
  6. public Ordliste() {};
  7. public void lesBok(String filnavn) throws Exception {
  8. Scanner s = new Scanner(new File(filnavn));
  9. while (s.hasNextLine()) {
  10. leggTilOrd(s.nextLine());
  11. }
  12. }
  13. //This method should, according to the task, be private. However,
  14. //it's cruicial for TestOrdliste.java, which the task also told to write.
  15. //Changing 'public' to 'private' here works perfectly, as long as you don't
  16. //try to use it with TestOrdliste.java.
  17. //If that was an important part of the task, pretend this method is private.
  18. public void leggTilOrd(String tekst) {
  19. Ord ord = finnOrd(tekst);
  20. if (ord == null)
  21. ordliste.add(new Ord(tekst.toLowerCase()));
  22. else
  23. ord.oekAntall();
  24. }
  25. public Ord finnOrd(String tekst) {
  26. for (Ord ord: ordliste) {
  27. if (ord.toString().equals(tekst.toLowerCase()))
  28. return ord;
  29. }
  30. return null;
  31. }
  32. public int antallOrd() {
  33. return ordliste.size();
  34. }
  35. public int antallForekomster(String tekst) {
  36. Ord ord = finnOrd(tekst);
  37. if (ord == null)
  38. return 0;
  39. else
  40. return ord.hentAntall();
  41. }
  42. public Ord vanligste() {
  43. if (ordliste.size() == 0)
  44. return null;
  45. Ord vanligste = ordliste.get(0);
  46. for (Ord ord: ordliste) {
  47. if (ord.hentAntall() > vanligste.hentAntall())
  48. vanligste = ord;
  49. }
  50. return vanligste;
  51. }
  52. public Ord[] alleVanligste() {
  53. if (ordliste.size() == 0)
  54. return new Ord[0];
  55. ArrayList<Ord> vanligste = new ArrayList<Ord>();
  56. vanligste.add(ordliste.get(0));
  57. for (Ord ord: ordliste) {
  58. if (ord.hentAntall() > vanligste.get(0).hentAntall()) {
  59. vanligste = new ArrayList<Ord>();
  60. vanligste.add(ord);
  61. } else if (ord.hentAntall() == vanligste.get(0).hentAntall()) {
  62. vanligste.add(ord);
  63. }
  64. }
  65. Ord[] arr = new Ord[vanligste.size()];
  66. return vanligste.toArray(arr);
  67. }
  68. }