1. Java / Говнокод #20467

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    import java.lang.*;
    
    public class Password {
        static char[] ch = {'a', 'b'};
        static byte length = 2;
        static int m = ch.length;
        static int n = length;
        static int l = (int) (Math.pow(ch.length, length));
        static String[] arr = new String[l];
    
        public static void main(String[] args) {
            for (int xyu = 0; xyu < l; xyu++) {
                arr[xyu] = "";
            }
            String[] output = generator(ch, length);
            for (String password : output) {
                System.out.println(password);
            }
        }
    
        public static String[] generator(char[] ch, byte length) {
    
            for (int i = 0; i < l; i++) {
                arr[i] = M(i);
            }
            return arr;
        }
    
    
        public static String M(int i) {
            String a = Perevod(i, m);
    
            for (int j = 0; j < n; j++) {
                arr[i] += ch[Character.getNumericValue(a.charAt(j))];
    
            }
            return arr[i];
        }
                //FIXME
        public static String Perevod(int i, int base) {
            String r = "";
            if (i == 0) {
                for (int counter = 0; counter < n; counter++) {
                    r += "0";
                }
            }
            boolean f = false;
            while (i > 0) {
                r = r + (i % base);
                int q = i % base;
                i = (i - q) / base;
                if (q == 1) {
                    f = true;
                }
            }
            if (i == 0 & f == true) {
                for (int counter = 0; counter < n - 1; counter++) {
                    r += "0";
                }
            }
            String res = "";
            for (int k = 0; k < r.length(); k++) {
                res += r.charAt(r.length() - 1 - k);
            }
            return res;
        }
    }

    Должен генерировать всевозможные пароли заданной длины из заданного алфавита. Не работает перевод в другую систему счисления

    Rawsone, 04 Августа 2016

    Комментарии (121)
  2. Java / Говнокод #20462

    +2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    public CustomCollection<T> wherePropertyIs(String propertyName, Object value) {
    		CustomCollection<T> lstTemp = new CustomCollection <T>();
    		if (this.size() > 0) {
    			Field foundField = null;
    			for (Field f : this.get(0).getClass().getDeclaredFields()){
    				if (f.getName().equals(propertyName)){
    					foundField = f;
    					break;
    				}
    			}
    			if (foundField != null) {
    				foundField.setAccessible(true);
    				try {
    					for(T obj : this){
    						if (foundField.get(obj).equals(value)){
    							lstTemp.add(obj);
    						}
    					}
    				}catch (IllegalAccessException e){
    					System.out.println(e.getMessage());
    				}
    			}
    		}
    		return lstTemp; 
    	}

    братишка, я тебе Linq на джаве принёс

    bydlan228, 03 Августа 2016

    Комментарии (1)
  3. Java / Говнокод #20459

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    public Object [][] getResults (String query){
    		Object oArray [][] = {};
    		try (Connection con = Connector.getNewConnection()) {
    			Statement st = con.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);
    			try (ResultSet rs = st.executeQuery(query)){
    				int rows = 0;
    				int cells = 0;
    				List<Object> lstObjX = new ArrayList<Object> (64);
    				while (rs.next()){
    					rows ++;
    					int x = 1;
    					while (true){
    						try {
    							lstObjX.add(rs.getObject(x));
    							x++;
    						}catch (Exception e) {
    							cells = (x != 1) ? x-1 : 0;
    							break;
    						}
    					}
    
    					for (; x-1 < cells; x++){
    						lstObjX.add(rs.getObject(x));
    					}
    
    				}
    				oArray = new Object [rows][cells];
    				int z = 0;
    				for (int y = 0; y < rows; y++){
    					for (int x = 0; x < cells; x++){
    						oArray[y][x] = lstObjX.get(z);
    						z++;
    					}
    				}
    			}
    		}
    		catch (SQLException e) {
    			System.err.println(e.getMessage());
    		}
    		return oArray;
    	}

    Превращаем Resultset в 2-мерную таблицу [y][x], где [y] - индекс строки, а [x] - индекс значений полей

    bydlan228, 03 Августа 2016

    Комментарии (10)
  4. Java / Говнокод #20442

    +3

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    @PostLoad
        protected void initStatus() {
            anState status = null;
            if (isDeleted()) {
                status = anState.S_DELETED;
            } else if (actState != null) {
                if (actState.equals(anState.S_NOT_FILLED)) {
                    status = anState.S_NOT_FILLED;
                } else if (actState.equals(anState.S_FORMED)) {
                    status = anState.S_FORMED;
                } else if (actState.equals(anState.S_SENT) &&
                        (Document != null && Document.getState().equals(DocumentState.SENT))) {
                    status = anState.S_SENT;
                } else if (actState.equals(anState.S_SENT) &&
                        (Document == null ||
                                (Document != null && !Document.getState().equals(DocumentState.SENT)))) {
                    status = anState.S_SENDING;
                } else if (actState.equals(anState.S_CANCELLATION_REQUEST)) {
                    status = anState.S_CANCELLATION_REQUEST;
                } else if (actState.equals(anState.S_CANCELED)) {
                    status = anState.S_CANCELED;
                }
            }
            this.status = status;
        }

    > кстати, валится же в методе

    private boolean isReadonly(anState status) {
    return !status.equals(anState.ACT_FORMED) &&
    !status.equals(anState.ACT_NOT_FILLED);
    }

    > но мы же не знаем, что енумы можно сравнивать и по == (т.к. поля енума - константы), и привычки сравнивать equals на константном выражении тем более не имеем :)

    > facepalm.jpg, словом :)

    Lure Of Chaos, 28 Июля 2016

    Комментарии (15)
  5. Java / Говнокод #20404

    +12

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    return isValidYear(args[4]) ? 
    		  (isValidMonth(args[3]) ? 
    			  (isValidDayOfMonth(args[2]) ? 
    				  (isValidDayOfWeek(args[1]) ? 
    					  (isValidTime(args[0]) ? true 
    					  : false)
    				  : false) 
    			  : false) 
    		  : false) 
    	   : false;

    Не знал, что последовательность && выполняется до первого false, хотел избежать вызова лишних методов при первом ложном результате.

    carapuz, 21 Июля 2016

    Комментарии (10)
  6. Java / Говнокод #20375

    −1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    общественного недействительными "тест Unit похолодало Effect '() {
            Дано: "температура камеры является смертельной"
            Защиту ячейка = worldSteps.getNextStandaloneCell ()
            INT coldTemperature = Unit.HEALTHY_TEMPERATURE_MIN - 1;
            worldSteps.makePerfectConditionsOnCell (клетка);
            cell.setTemperature (coldTemperature);
    
            когда: "единица создается на этой ячейке"
            worldSteps.createTeamTempGarantNoZeroTeamsInWorld ()
            Защиту humanSquad1 = worldSteps.createUnit (
                    worldSteps.createHumanTeam (),
                    клетка);
    
            Блок Блок = humanSquad1.unit
            Защиту preHealth = unit.getTotalParam (UnitParameterType.HEALTH)
            unit.setTemperature (coldTemperature);
    
            затем: "единица измерения температуры до сих пор не создают эффекта холодной"
            WorldAsserts.assertUnitHasNoEffect (единица измерения, Cold.class);
            утверждают unit.getTotalParam (UnitParameterType.HEALTH) == preHealth
            когда:
            worldSteps.rewindTeamsToStartNewWorldStep ();
            Utils.sleepThread (1000)
    
            затем: "добавлен эффект холодной"
            WorldAsserts.assertUnitAlive (единица измерения);
            WorldAsserts.assertUnitHasEffect (единица измерения, Cold.class);
    
            и: "health-- на той же стадии"
            утверждают unit.getTotalParam (UnitParameterType.HEALTH) == preHealth - 1
        }

    dmli, 14 Июля 2016

    Комментарии (4)
  7. Java / Говнокод #20369

    +4

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    private TableColumnDisplayManager(JTable table) {
        this.table = table;
        table.removePropertyChangeListener(this);
        table.addPropertyChangeListener(this);
        reset();
    }

    Ну, а вдруг?

    george, 13 Июля 2016

    Комментарии (18)
  8. Java / Говнокод #20345

    +3

    1. 1
    2. 2
    3. 3
    assertArrayEquals("f g h i j k l m n o".split("\\s"), actualValuesArray);
    
    assertArrayEquals(Lists.reverse(Arrays.asList("l m n o p q r s t u".split("\\s"))).toArray(), actualValuesArray);

    Когда лень руками создавать массив строк и сложно перечислить буквы в обратном порядке

    nikit13, 07 Июля 2016

    Комментарии (20)
  9. Java / Говнокод #20344

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    public void testGetInactiveSessionIds() throws Exception {
            Session inactive1 = createTestSession();
            Session inactive2 = createTestSession();
            Thread.sleep(1001);
            Date timestamp = new Date();
            Thread.sleep(1001);
            List<String> inactiveSessions = sessionDAO.getSessionsWithLastAccessTimeBefore(timestamp);
    
            assertEquals(2, inactiveSessions.size());
            assertTrue(inactive1.getId().equals(inactiveSessions.get(0)) || inactive1.getId().equals(inactiveSessions.get(1)));
            assertTrue(inactive2.getId().equals(inactiveSessions.get(0)) || inactive2.getId().equals(inactiveSessions.get(1)));
        }

    Юнит тест поиск неактивных сессий перед их закрытием. Тут прекрасны задержки на секунду и проверка что сессия содержится в списке inactive

    stokito, 07 Июля 2016

    Комментарии (0)
  10. Java / Говнокод #20342

    −4

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    public static int opposite(int number)
         {
             if(number>0){
                 return number - number - number;
             } if (number<0){
             return number - number - number;
         }return opposite(number);
         }
         }

    Это так я по фасту решил задачу из положительных чисел сделать отрицательные и наоборот :D

    HellMoth, 07 Июля 2016

    Комментарии (17)