Advertisement
Guest User

Untitled

a guest
Apr 22nd, 2016
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.02 KB | None | 0 0
  1. package com.netcracker.ssh.src;
  2.  
  3. import com.netcracker.ssh.src.Statistics.Statistic;
  4. import com.netcracker.ssh.src.utils.*;
  5. import org.apache.commons.collections.map.HashedMap;
  6. import src.utils.IteratorK;
  7. import src.Statistics.*;
  8.  
  9.  
  10. import java.io.IOException;
  11. import java.io.PrintWriter;
  12. import java.util.*;
  13.  
  14.  
  15. public class Main {
  16. public static void main(String[] args) throws IOException {
  17.  
  18. PrintWriter writer = new PrintWriter("result00", "UTF-8");
  19.  
  20. IteratorK iter = new IteratorK(10000, 1);
  21. Statistic statistic = new Statistic();
  22. int i = 0;
  23. Map<Double, List<Integer>> minCoefIndex = new HashMap<Double, List<Integer>>();
  24. List<Integer> indexes = new ArrayList<Integer>();
  25. while (iter.hasNext()) {
  26. List<User> users = iter.next();
  27. getMinIndex(users, minCoefIndex, indexes);
  28. }
  29. writer.print("MAP: " + minCoefIndex);
  30. writer.close();
  31.  
  32. System.out.println("finish");
  33.  
  34. }
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41. public Map<String, String> getUserDataList(User user) {
  42. Statistic statistic = new Statistic();
  43. // List<String> userData = new ArrayList<String>();
  44. Map<Integer, Double> m = new HashMap<>();
  45. Map<String, String> mappingUser = new HashMap<>();
  46. String pass = user.getPass();
  47. mappingUser.put("pass", pass);
  48. String fullName = user.getFullName();
  49. mappingUser.put("fullName", fullName);
  50. String firsName = statistic.getFirstName(fullName);
  51. mappingUser.put("firsName", firsName);
  52. String lastName = statistic.getSecondName(fullName);
  53. mappingUser.put("lastName", lastName);
  54. String userName = user.getUsername();
  55. mappingUser.put("userName", userName);
  56. String email = statistic.getMailBeforeSign(user.getEmail());
  57. mappingUser.put("email", email);
  58. String dataYear = "1";
  59. String dataMonth = "1";
  60. String dataDay = "1";
  61. if (user.getBirth() != null) {
  62. dataYear = Integer.toString(user.getBirth().get(Calendar.YEAR));
  63. dataMonth = Integer.toString(user.getBirth().get(Calendar.MONTH));
  64. dataDay = Integer.toString(user.getBirth().get(Calendar.DAY_OF_MONTH));
  65. }
  66. mappingUser.put("dataYear", dataYear);
  67. mappingUser.put("dataMonth", dataMonth);
  68. mappingUser.put("dataDay", dataDay);
  69.  
  70. mappingUser.put("DMY", dataDay + dataMonth + dataYear);
  71. mappingUser.put("YMD", dataYear + dataMonth + dataDay);
  72.  
  73.  
  74. return mappingUser;
  75.  
  76. }
  77.  
  78. public static List<Double> getDistanceListForUser(User user) {
  79. Statistic statistic = new Statistic();
  80. List<Double> distances = new ArrayList<>();
  81. String pass = user.getPass();
  82. String passChar = statistic.getOnlyCharacters(pass);
  83. String passDigits = statistic.getOnlyDigits(pass);
  84. String fullName = user.getFullName();
  85. String firsName = statistic.getFirstName(fullName);
  86. String lastName = statistic.getSecondName(fullName);
  87. String userName = user.getUsername();
  88. String email = statistic.getMailBeforeSign(user.getEmail());
  89. String dataYear = "1";
  90. String dataMonth = "1";
  91. String dataDay = "1";
  92. if (user.getBirth() != null) {
  93. dataYear = Integer.toString(user.getBirth().get(Calendar.YEAR));
  94. dataMonth = Integer.toString(user.getBirth().get(Calendar.MONTH));
  95. dataDay = Integer.toString(user.getBirth().get(Calendar.DAY_OF_MONTH));
  96. }
  97. String dmy = dataDay + dataMonth + dataYear;
  98. String ymd = dataYear + dataMonth + dataDay;
  99.  
  100. distances.add(statistic.getCoefDistance(passChar, fullName));
  101. distances.add(statistic.getCoefDistance(passChar, firsName));
  102. distances.add(statistic.getCoefDistance(passChar, lastName));
  103. distances.add(statistic.getCoefDistance(passChar, email));
  104. distances.add(statistic.getCoefDistance(passChar, userName));
  105. distances.add(statistic.getCoefDistance(passDigits, dataYear));
  106. distances.add(statistic.getCoefDistance(passDigits, dataMonth));
  107. distances.add(statistic.getCoefDistance(passDigits, dataDay));
  108. distances.add(statistic.getCoefDistance(passDigits, dmy));
  109. distances.add(statistic.getCoefDistance(passDigits, ymd));
  110.  
  111. return distances;
  112.  
  113. }
  114.  
  115. public static Double getMinimumCoeficient(List<Double> list) {
  116. return Collections.min(list);
  117. }
  118.  
  119. public static Map<Double, List<Integer>> getMinIndex(List<User> users, Map<Double, List<Integer>> minCoefIndex, List<Integer> indexes) {
  120. Statistic statistic = new Statistic();
  121. for (User u : users) {
  122. List<Double> distances = getDistanceListForUser(u);
  123. Double min = getMinimumCoeficient(distances);
  124. int index = statistic.getIndexOfValue(distances, min);
  125. indexes.add(index);
  126. minCoefIndex.put(min, indexes);
  127. }
  128. return minCoefIndex;
  129. }
  130.  
  131. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement