Advertisement
Guest User

Untitled

a guest
May 24th, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.65 KB | None | 0 0
  1. /*
  2. * To change this license header, choose License Headers in Project Properties.
  3. * To change this template file, choose Tools | Templates
  4. * and open the template in the editor.
  5. */
  6. package student;
  7.  
  8. import java.io.BufferedReader;
  9. import java.io.FileNotFoundException;
  10. import java.io.FileReader;
  11. import java.io.IOException;
  12. import java.util.ArrayList;
  13. import java.util.Collections;
  14. import java.util.List;
  15. import javax.persistence.EntityManager;
  16. import javax.persistence.EntityManagerFactory;
  17. import javax.persistence.Persistence;
  18. import javax.persistence.Query;
  19.  
  20. /**
  21. *
  22. * @author Agata Rybak
  23. */
  24. public class AppMain {
  25. private static EntityManager entitymanager;
  26.  
  27. public static void main(String[] args) {
  28. String filePath = "D:/test.txt";
  29.  
  30. List<String> param = readFile(filePath);
  31.  
  32. String courseName = param.get(0);
  33. String name = param.get(1);
  34. String[] parts = name.split(" ");
  35. String firstName = parts[0];
  36. String lastName = parts[1];
  37.  
  38. System.out.println(courseName);
  39. System.out.println(firstName);
  40. System.out.println(lastName);
  41.  
  42. EntityManagerFactory emfactory = Persistence.createEntityManagerFactory("StudentPU");
  43. entitymanager = emfactory.createEntityManager();
  44.  
  45. Query query = entitymanager.createQuery("select tsc.mark "
  46. + "from TblStudentcourse tsc, TblStudents ts, TblCourses tc "
  47. + "where ts.id=tsc.tblStudentcoursePK.studentid and "
  48. + "tc.id=tsc.tblStudentcoursePK.courseid and "
  49. + "ts.firstname = '" + firstName + "' and "
  50. + "ts.lastname = '" + lastName + "' and "
  51. + "tc.coursename = '" + courseName + "'");
  52.  
  53. Integer studentMark = (Integer)query.getSingleResult();
  54. System.out.println(studentMark);
  55.  
  56. Query query2 = entitymanager.createQuery("select tsc.mark from TblStudentcourse tsc");
  57. List<Integer> list = query2.getResultList();
  58.  
  59. entitymanager.close();
  60.  
  61. Collections.sort(list);
  62.  
  63. double median = median(list);
  64. System.out.println(median);
  65.  
  66. int result = 0;
  67. if(studentMark > median){
  68. result = (int)Math.round((studentMark - median)/median * 100);
  69. System.out.println(result + "%");
  70. }
  71. else if(studentMark == median){
  72. System.out.println(0);
  73. }
  74. else{
  75. result = (int)Math.round((median - studentMark)/median * 100);
  76. System.out.println("-" + result + "%");
  77. }
  78. }
  79.  
  80. static List<String> readFile(String filePath)
  81. {
  82. List<String> param = new ArrayList<>();
  83. try (BufferedReader bufferReader = new BufferedReader(new FileReader(filePath))) {
  84. for(String line; (line = bufferReader.readLine()) != null;)
  85. {
  86. param.add(line.trim());
  87. if(param.size() >= 2)
  88. break;
  89. }
  90. } catch (FileNotFoundException e) {
  91. e.printStackTrace();
  92. } catch (IOException e) {
  93. e.printStackTrace();
  94. }
  95. return param;
  96. }
  97.  
  98. static double median (List<Integer> a){
  99. int sum = 0;
  100. double mean = 0;
  101. int middle = a.size()/2;
  102.  
  103. if (a.size() > 0) {
  104. for (Integer i : a) {
  105. sum += i;
  106. }
  107. mean = sum / (a.size() * 1.0);
  108.  
  109. if (a.size() % 2 == 1)
  110. return a.get(middle);
  111. else
  112. return (a.get(middle-1) + a.get(middle)) / 2.0;
  113. }
  114. return 0;
  115. }
  116. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement