Advertisement
niske

Sokovnik

Dec 2nd, 2024
17
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.54 KB | None | 0 0
  1. import java.io.BufferedReader;
  2. import java.io.FileReader;
  3. import java.io.IOException;
  4. import java.util.Arrays;
  5.  
  6. public class Sokovnik implements Kontejner, Cediljka{
  7. private Voce[] privremenoVoce;
  8. private Voce[] voce;
  9. private int brojVoca;
  10. private double ukupnaZapreminaSokovnika;
  11.  
  12. public Sokovnik(double ukupnaZapreminaSokovnika) throws IOException{
  13. this.ukupnaZapreminaSokovnika = ukupnaZapreminaSokovnika;
  14. this.brojVoca = 0;
  15. ucitajVoce();
  16. Arrays.sort(this.privremenoVoce);
  17. ucitajDobroVoce();
  18. }
  19.  
  20. private void
  21. ucitajVoce() throws IOException{
  22. BufferedReader br = new BufferedReader(new FileReader("Voce.txt"));
  23.  
  24. int brVoca = Integer.parseInt(br.readLine());
  25. this.privremenoVoce = new Voce[brVoca];
  26.  
  27. for(int i = 0; i < brVoca; i++) {
  28. String[] t = br.readLine().split(",");
  29.  
  30. if(t.length == 3) {
  31. boolean crvljiva = t[2].trim().equals("da") ? true : false;
  32. this.privremenoVoce[i] = new Jabuka(t[0].trim(), Double.parseDouble(t[1].trim()), crvljiva);
  33. }
  34. else {
  35. if(t[0].equals("Ananas")) {
  36. this.privremenoVoce[i] = new Ananas(t[0].trim(), Double.parseDouble(t[1].trim()));
  37. }
  38. else {
  39. this.privremenoVoce[i] = new Voce(t[0].trim(), Double.parseDouble(t[1].trim()));
  40. }
  41. }
  42. }
  43. br.close();
  44. }
  45.  
  46. private void ucitajDobroVoce() throws IOException{
  47. this.voce = new Voce[this.privremenoVoce.length];
  48.  
  49. for(int i = 0; i < this.voce.length; i++) {
  50. if(this.privremenoVoce[i] instanceof Jabuka) {
  51. Jabuka j = (Jabuka) this.privremenoVoce[i];
  52. if(j.isCrvljivo()) {
  53. continue;
  54. }
  55. else {
  56. if(this.zapremina() < this.ukupnaZapreminaSokovnika && this.zapremina() + this.privremenoVoce[i].getZapremina() < this.ukupnaZapreminaSokovnika) {
  57. this.voce[i] = this.privremenoVoce[i];
  58. }
  59. else {
  60. continue;
  61. }
  62. }
  63. }
  64. else {
  65. if(this.zapremina() < this.ukupnaZapreminaSokovnika && this.zapremina() + this.privremenoVoce[i].getZapremina() < this.ukupnaZapreminaSokovnika) {
  66. this.voce[i] = this.privremenoVoce[i];
  67. }
  68. else {
  69. continue;
  70. }
  71. }
  72. }
  73. }
  74.  
  75. @Override
  76. public void cedi() {
  77. for(Voce v : this.voce) {
  78. if(v != null)
  79. System.out.println(v);
  80. }
  81. }
  82.  
  83. @Override
  84. public double zapremina() {
  85. double zapremina = 0;
  86.  
  87. for(Voce v : this.voce) {
  88. if(v != null)
  89. zapremina += v.getZapremina();
  90. }
  91. return zapremina;
  92. }
  93.  
  94. @Override public int komada() {
  95. int br = 0;
  96.  
  97. for(Voce v : this.voce) {
  98. if(v != null)
  99. br++;
  100. }
  101. return br;
  102. }
  103. }
  104.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement