Advertisement
Guest User

Untitled

a guest
Apr 22nd, 2016
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.26 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. public int getNumberValueInList(Integer value, List<Integer> list){
  37. int i = 0;
  38. for(Integer val : list){
  39. if(val.equals(value)){
  40. i++;
  41. }
  42. }
  43. return i;
  44. }
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51. public Map<String, String> getUserDataList(User user) {
  52. Statistic statistic = new Statistic();
  53. // List<String> userData = new ArrayList<String>();
  54. Map<Integer, Double> m = new HashMap<>();
  55. Map<String, String> mappingUser = new HashMap<>();
  56. String pass = user.getPass();
  57. mappingUser.put("pass", pass);
  58. String fullName = user.getFullName();
  59. mappingUser.put("fullName", fullName);
  60. String firsName = statistic.getFirstName(fullName);
  61. mappingUser.put("firsName", firsName);
  62. String lastName = statistic.getSecondName(fullName);
  63. mappingUser.put("lastName", lastName);
  64. String userName = user.getUsername();
  65. mappingUser.put("userName", userName);
  66. String email = statistic.getMailBeforeSign(user.getEmail());
  67. mappingUser.put("email", email);
  68. String dataYear = "1";
  69. String dataMonth = "1";
  70. String dataDay = "1";
  71. if (user.getBirth() != null) {
  72. dataYear = Integer.toString(user.getBirth().get(Calendar.YEAR));
  73. dataMonth = Integer.toString(user.getBirth().get(Calendar.MONTH));
  74. dataDay = Integer.toString(user.getBirth().get(Calendar.DAY_OF_MONTH));
  75. }
  76. mappingUser.put("dataYear", dataYear);
  77. mappingUser.put("dataMonth", dataMonth);
  78. mappingUser.put("dataDay", dataDay);
  79.  
  80. mappingUser.put("DMY", dataDay + dataMonth + dataYear);
  81. mappingUser.put("YMD", dataYear + dataMonth + dataDay);
  82.  
  83.  
  84. return mappingUser;
  85.  
  86. }
  87.  
  88. public static List<Double> getDistanceListForUser(User user) {
  89. Statistic statistic = new Statistic();
  90. List<Double> distances = new ArrayList<>();
  91. String pass = user.getPass();
  92. String passChar = statistic.getOnlyCharacters(pass);
  93. String passDigits = statistic.getOnlyDigits(pass);
  94. String fullName = user.getFullName();
  95. String firsName = statistic.getFirstName(fullName);
  96. String lastName = statistic.getSecondName(fullName);
  97. String userName = user.getUsername();
  98. String email = statistic.getMailBeforeSign(user.getEmail());
  99. String dataYear = "1";
  100. String dataMonth = "1";
  101. String dataDay = "1";
  102. if (user.getBirth() != null) {
  103. dataYear = Integer.toString(user.getBirth().get(Calendar.YEAR));
  104. dataMonth = Integer.toString(user.getBirth().get(Calendar.MONTH));
  105. dataDay = Integer.toString(user.getBirth().get(Calendar.DAY_OF_MONTH));
  106. }
  107. String dmy = dataDay + dataMonth + dataYear;
  108. String ymd = dataYear + dataMonth + dataDay;
  109.  
  110. distances.add(statistic.getCoefDistance(passChar, fullName));
  111. distances.add(statistic.getCoefDistance(passChar, firsName));
  112. distances.add(statistic.getCoefDistance(passChar, lastName));
  113. distances.add(statistic.getCoefDistance(passChar, email));
  114. distances.add(statistic.getCoefDistance(passChar, userName));
  115. distances.add(statistic.getCoefDistance(passDigits, dataYear));
  116. distances.add(statistic.getCoefDistance(passDigits, dataMonth));
  117. distances.add(statistic.getCoefDistance(passDigits, dataDay));
  118. distances.add(statistic.getCoefDistance(passDigits, dmy));
  119. distances.add(statistic.getCoefDistance(passDigits, ymd));
  120.  
  121. return distances;
  122.  
  123. }
  124.  
  125. public static Double getMinimumCoeficient(List<Double> list) {
  126. return Collections.min(list);
  127. }
  128.  
  129. public static Map<Double, List<Integer>> getMinIndex(List<User> users, Map<Double, List<Integer>> minCoefIndex, List<Integer> indexes) {
  130. Statistic statistic = new Statistic();
  131. for (User u : users) {
  132. List<Double> distances = getDistanceListForUser(u);
  133. Double min = getMinimumCoeficient(distances);
  134. int index = statistic.getIndexOfValue(distances, min);
  135. indexes.add(index);
  136. minCoefIndex.put(min, indexes);
  137. }
  138. return minCoefIndex;
  139. }
  140.  
  141. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement