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

    +67

    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
    package bytestring;
    
    public class Main {
    
        public static void main(String[] args) {
            String source = new String("A ya sdelal etu hren s perevorotom stroki s ispolzovaniem bayta");
            byte bytes[] = source.getBytes();
    
            bytes = reverse(bytes);
    
            String destination = new String(bytes);
            System.out.println(destination);
        }
    
        private static void switchBytes(byte[] array, int a, int b) {
            byte t = array[a];
            array[a] = array[b];
            array[b] = t;
        }
    
        public static byte[] reverse(byte[] bytes) {
            int i, j;
            int first, last;
            int length = bytes.length;
    
            //Переворачиваем всю строку
            for(i = 0; i < length / 2; i++)
                switchBytes(bytes, i, length - i - 1);
    
            //Переворачиваем каждое слово строки
            first = 0;
            for(i = 1; i <= length; i++)
                if(i == length || bytes[i] == ' ') {
                    last = i - 1;
                    for(j = first; j <= first + (last - first) / 2; j++)
                        switchBytes(bytes, j, first + last - j);
                    first = i + 1;
                }
            
            return bytes;
        }
    }

    hedgecrab, 28 Ноября 2010

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

    +68

    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
    package bytestring;
    
    public class Main {
    
        public static void main(String[] args) {
            String source = new String("A ya sdelal etu hren s perevorotom stroki s ispolzovaniem bayta");
    
            byte bytes[] = source.getBytes();
    
            ////////////////////////////////////////////////////////////////////////
    
            int i, j;
            int length, first, last;
            byte a;
    
            length = bytes.length;
    
            //Переворачиваем всю строку
            for(i = 0; i < length / 2; i++) {
                a = bytes[i];
                bytes[i] = bytes[length - i - 1];
                bytes[length - i - 1] = a;
            }
    
            //Переворачиваем каждое слово строки
            first = 0;
            for(i = 1; i <= length; i++)
                if(i == length || bytes[i] == ' ') {
                    last = i - 1;
                    for(j = first; j <= first + (last - first) / 2; j++) {
                        a = bytes[j];
                        bytes[j] = bytes[first + last - j];
                        bytes[first + last - j] = a;
                    }
                    first = i + 1;
                }
    
            ////////////////////////////////////////////////////////////////////////
    
            char destination[] = new char[bytes.length];
            for(i = 0; i < bytes.length; i++)
                destination[i] = (char) bytes[i];
    
            System.out.println(String.copyValueOf(destination));
        }
    }

    hedgecrab, 28 Ноября 2010

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

    +78

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    public static String toWritten(int i) {
            return Integer.parseInt(String.valueOf(i).substring(String.valueOf(i).length()-1)) > 4 ?
                "объектов" :
                Integer.parseInt(String.valueOf(i).substring(String.valueOf(i).length()-1)) > 1 ?
                    "объекта" :
                    Integer.parseInt(String.valueOf(i).substring(String.valueOf(i).length()-1)) == 1 ?
                        "объект":
                        "объектов";
        }

    функция для вывода подобного:
    1 объект
    156 оъектов
    итд.

    danilissimus, 27 Ноября 2010

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

    +76

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    // Setted bit
    	private static final int TRUE_BIT = 1;
    
    ...
    	public static final int LAST_PARAGRAPH = 0x01;
    	public static final int FIRST_PARAGRAPH = 0x02;
    ...
    	
    	if (TRUE_BIT == (paragraphFlag & ParagraphProperties.FIRST_PARAGRAPH) >>> 1) {

    mlg7, 24 Ноября 2010

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

    +118

    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
    //-----------------------------------------------------------------------------------------------------------
    // Создаю ПОСВИДЧЕННЯ ПРО ВИДРЯДЖЕННЯ
    // Создаю тело документа
    FunForServices.writeToLog(2, ps, "create PPV");
    
    rs1 = stat1.executeQuery("Select D.DEPAR_Name As Dep, rtrim(L.LDAP_Name) as FIO, P.PEOP_Posit As Pos From IPS..PEOP P, IPS..LDAP L, IPS..DEPAR D Where L.LDA_LDAP_Login=D.LDAP_Login and L.LDAP_Login=P.LDAP_Login and L.LDAP_Login='"+rs.getString("Login")+"'");
    rs1.next();
    rez1="<?xml version=''1.0'' ?><u1><st><![CDATA[";
    rez1+="<table width=\"100%\" border=0><tr><td width=\"33%\" align=right><table width=\"33%\"><tr>";
    rez1+="<td style=\"FONT-WEIGHT: bold; FONT-SIZE: x-small; FONT-FAMILY: Arial; TEXT-ALIGN: center\">";
    rez1+="ЗАТВЕРДЖЕНО</td></tr><tr><td style=\"FONT-WEIGHT: bold; FONT-SIZE: x-small; FONT-FAMILY: Arial; TEXT-ALIGN: center\">";
    rez1+="наказом Державної податкової</td></tr><tr><td style=\"FONT-WEIGHT: bold; FONT-SIZE: x-small; FONT-FAMILY: Arial; TEXT-ALIGN: center\">";
    rez1+="адмiнiстрацiї України вiд</td></tr><tr><td style=\"FONT-WEIGHT: bold; FONT-SIZE: x-small; FONT-FAMILY: Arial; TEXT-ALIGN: center\">";
    rez1+="28.07.97 г. N 260</td></tr></table></td></tr><tr><td><br><br></td></tr><tr><td align=middle><I><B><FONT face=Arial size=4>ПОСВIДЧЕННЯ ПРО ВIДРЯДЖЕННЯ N</FONT></B></I>";
    rez1+="<td>                     </td>";
    //////////////////////////////////////
    //	строк 30 такого
    //////////////////////////////////////
    rez1+="<TR><TD> </TD></TR><TR><TD><TABLE cellSpacing=0 cellPadding=0 width=\"100%\"><TR><TD align=left><STRONG><EM><FONT face=Arial>КЕРIВНИК</FONT></EM></STRONG></TD><TD align=middle id=pod>Пiдпис</TD>";
    rez1+="<TD align=right onclick=StampUtv(\""+sign+"\")><B>"+utvfio+"</B></TD></TR></TABLE></TD></TR><TR><TD> </TD></TR><TR><TD><STRONG><FONT face=Arial>М.П.</FONT></STRONG></TD></TR></TABLE></TD></TR>";
    rez1+="</table>";
    rez1+="]]></tp></u1>";
    
    rs1 = stat1.executeQuery("Declare @Rez int exec GetCardNum "+FunForServices.Year+", '"+rs.getString("Login")+"', 'A', @Rez out Select @Rez");
    rs1.next();
    annNumb1 = rs1.getInt(1);
    
    rs1 = stat1.executeQuery("Declare @Rez int exec GetCardNum "+FunForServices.Year+", '"+rs.getString("Login")+"' , 'C', @Rez out Select @Rez");
    rs1.next();
    ndoc1=rs1.getInt(1);
    FunForServices.CreateBody(ndoc1, 0, "DocB", rez1, stat1);
    FunForServices.writeToLog(2, ps, ndoc1+" for "+rs.getString("Login"));
    
    rs1=stat1.executeQuery("AddDocCard "+rs.getInt("Act")+", '"+utv+"', "+ndoc+", "+rs.getInt("Grup")+", 1, 4,'"+regndoc.substring(0,regndoc.lastIndexOf("-"))+"', 'ПОСВIДЧЕННЯ ПРО ВIДРЯДЖЕННЯ', null,'"+annot+"', 'Нормальный', 4, null, null, null, null, null, null, '"+pk+"', ';"+utv+"', null, ';"+rs.getString("Login")+"', '"+pkdat+"', @IIdDocCard="+ndoc1+", @IIdAttending = "+annNumb1);
    stat1.executeUpdate("Constatation "+ndoc1+", '"+utv+"'");
    FunForServices.writeToLog(6, ps, "");

    лайно з Украïни...

    3.14159265, 24 Ноября 2010

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

    +78

    1. 1
    2. 2
    3. 3
    double price=199990.10;
    BigDecimal realPrice=new BigDecimal(price).round(
    		new MathContext((int)Math.round(Math.log10(price))+3)));

    Округление до копеек.
    Реальный финансовый проект.

    gavnokoder, 24 Ноября 2010

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

    +86

    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
    boolean IsWeekStartsMonday() {
    if (strDay.equalsTo("Russia") || strDay.equalsTo("Ukraina") || ....)
        return true;
    else
        return false;
    }
    
    void SomeFunction(){
    ....
    if (IsWeekStartsMonday())
        startDay = java.util.Calendar.getFirstDayOfWeek();
    else
        startDay = java.util.Calendar.SUNDAY;
    }

    из исходников андроидовской апликухи, отличился гражданин Индии :)

    AndyFox, 23 Ноября 2010

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

    +84

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    try {
                    if (field[i][j + 1] == 0) {
                        field[i][j + 1] = 2;
                        fifo.add(new Cell(i, j + 1));
                    }
                } catch (ArrayIndexOutOfBoundsException ignored) {
                }

    Плевать на то что будет стучаться к несуществующему элементу массива, заигнорим и все!

    dexatot, 23 Ноября 2010

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

    +78

    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
    package com.fl.nat;
    
    import java.io.File;
    
    public class Status {
        static {
            System.load(new File("libstatus-remote.dll").getAbsolutePath());
        }
        
        public native int testLoaded();
        private native String listProcessess0();
    
        public SystemProcess[] listProcessess() {
            String proc = this.listProcessess0();
            String[] procs = proc.split(";");
    
            SystemProcess[] list = new SystemProcess[procs.length];
    
            int count = 0;
            for(String s : procs) {
                list[count++] = new SystemProcess(s.split(",")[0], Integer.parseInt(s.split(",")[1]));
            }
            
            return list;
        }
    }

    говнокодовость станет понятка как только я выложу C++ часть этого говна

    danilissimus, 19 Ноября 2010

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

    +145

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    // где-то:
      public boolean isLoaded() {
        return (boolean) (this.sequencer.isOpen());
      }
    
    //там:
    public boolean isOpen();

    код к книжке

    Lure Of Chaos, 19 Ноября 2010

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