Advertisement
Guest User

sniadanko

a guest
Jun 25th, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.77 KB | None | 0 0
  1.  
  2. public class Śniadanie {
  3. // pola klasy Śniadanie
  4. private double przelicznikkalorii;
  5. private double kalorie;
  6. private double marginesBledu;
  7. private double sumaBialek=0;
  8. private double sumaTluszczy=0;
  9. private double sumaWeglowodanow=0;
  10. private double iloscWapnia=0;
  11. private double iloscZelaza=0;
  12. private double iloscSodu=0;
  13. private double iloscWitaminyA=0;
  14. private double iloscTiaminy=0;
  15. private double iloscWitaminyC=0;
  16.  
  17.  
  18.  
  19. // konstruktor dwuparametrowy klasy Śniadanie
  20. public Śniadanie(double przelicznikkalorii, int dzienneZapotrzebowanie) {
  21. this.przelicznikkalorii = przelicznikkalorii; //odnoszę się do pola
  22. this.kalorie = dzienneZapotrzebowanie * przelicznikkalorii;
  23. this.marginesBledu = 0.1 * kalorie;
  24. }
  25. public double getKalorie() {
  26. return kalorie;
  27. }
  28. public double getSumaBialek() { // getter zwracający wartości danej prywatnej zmiennej (pola)
  29. return sumaBialek;
  30. }
  31. public double getSumaTluszczy() {
  32. return sumaTluszczy;
  33. }
  34. public double getSumaWeglowodanow() {
  35. return sumaWeglowodanow;
  36. }
  37. public double getIloscWapnia() {
  38. return iloscWapnia;
  39. }
  40. public double getIloscZelaza() {
  41. return iloscZelaza;
  42. }
  43. public double getIloscSodu() {
  44. return iloscSodu;
  45. }
  46. public double getIloscWitaminyA() {
  47. return iloscWitaminyA;
  48. }
  49. public double getIloscTiaminy() {
  50. return iloscTiaminy;
  51. }
  52. public double getIloscWitaminyC() {
  53. return iloscWitaminyC;
  54. }
  55.  
  56.  
  57.  
  58.  
  59.  
  60. public void losowanie(ArrayList<String[]> lista, String dieta) { // metoda do losowania produktów
  61. double sumaKalorii = 0;
  62. Random random = new Random();
  63. ArrayList<String> Śniadanie = new ArrayList<String>();
  64.  
  65.  
  66. ArrayList<String[]> produkty = new ArrayList<String[]>();
  67. String[] produkt;
  68. int indeks;
  69. if(dieta.equals("wegetariańska") lista.remove("meat");
  70.  
  71. do {
  72.  
  73. sumaBialek=0;
  74. sumaTluszczy=0;
  75. sumaWeglowodanow=0;
  76. iloscWapnia=0;
  77. iloscZelaza=0;
  78. iloscSodu=0;
  79. iloscWitaminyA=0;
  80. iloscTiaminy=0;
  81. iloscWitaminyC=0;
  82. sumaKalorii = 0;
  83. produkty.clear();
  84. Śniadanie.clear();
  85. // dodanie do listy "Śniadanie" podanych indeksów
  86. Śniadanie.addAll(Arrays.asList( "Juice", "Fruits", "Snack", "Breakfast", "Dairy", "Cheese", "Baked","Vegetable"));
  87. while (sumaKalorii < kalorie - marginesBledu) {
  88. do {
  89. indeks = random.nextInt(lista.size()); // losowanie indeksu ( linii o danym numerze z pliku tekstowego) z listy
  90. produkt = lista.get(indeks); // dodanie do zmiennej produktu z listy o danym wylosowanym indeksie (z linii o danym numerze)
  91.  
  92. } while (!Śniadanie.contains(produkt[0])); // w pętli losujemy produkt dopóki nie będzie on miał takiego typu jaki akceptuje lista "śniadanie"
  93. produkty.add(lista.get(indeks)); // dodanie do listy "produkty" wylosowane produkty
  94. Śniadanie.remove(produkt[0]); // usunięcie powtarzającego się prdouktu
  95. sumaKalorii += Integer.parseInt(produkt[2]); // dodanie do zmiennej wartości kalorii danego wylosowanego produktu
  96. sumaBialek +=Double.parseDouble(produkt[3]); // konwertuje na typ double
  97. sumaTluszczy +=Double.parseDouble(produkt[4]);
  98. sumaWeglowodanow +=Double.parseDouble(produkt[5]);
  99. iloscWapnia +=Double.parseDouble(produkt[6]);
  100. iloscZelaza +=Double.parseDouble(produkt[7]);
  101. iloscSodu +=Double.parseDouble(produkt[8]);
  102. iloscWitaminyA +=Double.parseDouble(produkt[9]);
  103. iloscTiaminy +=Double.parseDouble(produkt[10]);
  104. iloscWitaminyC +=Double.parseDouble(produkt[11]);
  105.  
  106.  
  107.  
  108. }
  109. } while (sumaKalorii > kalorie + marginesBledu);
  110.  
  111. System.out.println("ilość kalorii na śniadanie: "+ sumaKalorii);
  112. System.out.println("produkty na śniadanie:");
  113. // wyśiwietlenie zawartości listy
  114. for(int i=0; i<produkty.size(); i++)
  115. {
  116. for(int j=0; j<produkty.get(i).length; j++)
  117. {
  118. System.out.print(produkty.get(i)[j]+", ");
  119. }
  120. System.out.println();
  121. }
  122.  
  123. }
  124.  
  125. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement