Advertisement
desislava_topuzakova

03. Numbers (начин 2)

Feb 15th, 2023
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.79 KB | None | 0 0
  1. package ExamPreparation;
  2.  
  3. import java.util.*;
  4. import java.util.stream.Collectors;
  5.  
  6. public class ThirdTask {
  7. public static void main(String[] args) {
  8. Scanner scanner = new Scanner(System.in);
  9.  
  10. //входни данни
  11. List<Integer> numbers = Arrays.stream(scanner.nextLine() // "10 20 30 40 50"
  12. .split("\\s+")) //["10", "20", "30", "40", "50"]
  13. .map(Integer::parseInt) // [10, 20, 30, 40, 50]
  14. .collect(Collectors.toList()); //{10, 20 , 30, 40, 50}
  15.  
  16.  
  17. int sum = 0; //сума от елементите в списъка
  18. for (int number : numbers) {
  19. sum += number;
  20. }
  21.  
  22. //средно аритмечтината стойност в списъка = сума от стойности / бр. стойности
  23. double average = sum * 1.0 / numbers.size();
  24.  
  25. List<Integer> greaterElements = new ArrayList<>(); //числа, по-големи от средното число (average)
  26. for (int number : numbers) {
  27. if (number > average) {
  28. greaterElements.add(number);
  29. }
  30. }
  31.  
  32. //greaterElements -> всички числа по-големи от средното число в пърчоначалния списък
  33. Collections.sort(greaterElements); //ascending order
  34. Collections.reverse(greaterElements); //descending order
  35.  
  36.  
  37.  
  38. //имаме ВСИЧКИ числа в списъка greaterElements наредени по големина
  39. if (greaterElements.size() > 0) {
  40. if (greaterElements.size() < 5) {
  41. //I начин за отпечатване на всички числа в списъка
  42. System.out.println(greaterElements.toString() //"[2, 4, 5, 6]"
  43. .replace("[", "") //"2, 4, 5, 6]"
  44. .replace("]", "") //"2, 4, 5, 6"
  45. .replace(",", "") //"2 4 5 6"
  46. );
  47.  
  48. //II начин за отпечатване на всички числа в списъка
  49. /*for (int number : greaterElements) {
  50. System.out.print(number + " ");
  51. }*/
  52. } else {
  53. //greaterElements = {98, 76, 65, 54, 43, 32, 31, 28, 26}
  54. List<Integer> top5Numbers = greaterElements.subList(0, 5); //първите 5 числа: {98, 76, 65, 54, 43}
  55. for (int number : top5Numbers) {
  56. System.out.print(number + " ");
  57. }
  58. }
  59.  
  60. } else {
  61. //нямаме числа в списъка greaterElements
  62. System.out.println("No");
  63. }
  64. }
  65. }
  66.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement