stoyanoff

03. Harvest

Jun 9th, 2020
791
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.41 KB | None | 0 0
  1. import java.util.Scanner;
  2.  
  3. public class Harvest_03 {
  4.     public static void main(String[] args) {
  5.         Scanner myScan = new Scanner(System.in);
  6.        
  7. //Входът се чете от конзолата и се състои от точно 4 реда:
  8. //•   1ви ред: X кв.м е лозето – цяло число в интервала [10 … 5000]
  9. //•   2ри ред: Y грозде за един кв.м – реално число в интервала [0.00 … 10.00]
  10. //•   3ти ред: Z нужни литри вино – цяло число в интервала [10 … 600]
  11. //•   4ти ред: брой работници – цяло число в интервала [1 … 20]
  12. //Изход
  13. //На конзолата трябва да се отпечата следното:
  14. //•   Ако произведеното вино е по-малко от нужното:
  15. //o “It will be a tough winter! More {недостигащо вино} liters wine needed.”
  16. //   Резултатът трябва да е закръглен към по-ниско цяло число
  17. //•   Ако произведеното вино е повече от нужното:
  18. //o “Good harvest this year! Total wine: {общо вино} liters.”
  19. //   Резултатът трябва да е закръглен към по-ниско цяло число
  20. //o “{Оставащо вино} liters left -> {вино за 1 работник} liters per person.”
  21. //   И двата резултата трябва да са закръглени към по-високото цяло число
  22. //Примерен вход и изход
  23. //вход  изход  коментари
  24. //650
  25. //2
  26. //175
  27. //3 Good harvest this year! Total wine: 208 liters.
  28. //33 liters left -> 11 liters per person.   Общо грозде: 650 * 2 = 1 300
  29. //Вино = 40% * 1300 / 2,5 = 208
  30. //208 > 175
  31. //208 - 175 = 33 л остават -> 11 л на човек
  32. //1020
  33. //1.5
  34. //425
  35. //4 It will be a tough winter! More 180 liters wine needed. Общо грозде: 1 020 * 1.5 = 1 530
  36. //Вино = 40% * 1 530 / 2,5 = 244.80
  37. //244.80 < 425
  38. //425 - 244.8 = 180.2 -> 180 л не достигат
  39.  
  40.         int landArea = Integer.parseInt(myScan.nextLine());
  41.         double grapesPerSqMeter = Double.parseDouble(myScan.nextLine());
  42.         int wineForSale = Integer.parseInt(myScan.nextLine());
  43.         int workers = Integer.parseInt(myScan.nextLine());
  44.  
  45.         // finding the land area for wine which is 40% from the total area
  46.  
  47.         double wineArea = landArea * 0.4;
  48.  
  49.         // calculating how many kg of grapes are produced from the area
  50.  
  51.         double producedGrapes = grapesPerSqMeter * wineArea;
  52.  
  53.         // calculating how much wine is produced 2.5 kg of grapes per sq meter
  54.  
  55.         double producedWine = producedGrapes / 2.5;
  56.  
  57.         if (producedWine < wineForSale) {
  58.  
  59.             double wineNeeded = wineForSale - producedWine;
  60.  
  61.             System.out.printf("It will be a tough winter! More %.0f liters wine needed.", wineNeeded);
  62.         } else {
  63.             double wineForWorkers = producedWine - wineForSale;
  64.             double literPerWorker = wineForWorkers / workers;
  65.  
  66.  
  67.            System.out.printf("Good harvest this year! Total wine: %.0f liters.\n", producedWine);
  68.            System.out.printf("%d liters left -> %d liters per person.", Math.round(wineForWorkers), Math.round(literPerWorker));
  69.         }
  70.     }
  71. }
Advertisement
Add Comment
Please, Sign In to add comment