1. Список говнокодов пользователя spivti

    Всего: 9

  2. Java / Говнокод #19811

    −29

    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
    public Map<Integer, List<Card>> makeFirst4Containers() {
    		int cardCount = 7;
    		Map<Integer, List<Card>> fourCardList = new HashMap<Integer, List<Card>>();
    		for (int i = 0; i < 4; i++) {
    			int fromIndex = cardCount * i;
    			int toIndex = cardCount * (i + 1);
    			List<Card> list = new ArrayList<Card>();
    			list.addAll(deck.subList(fromIndex, toIndex));
    			fourCardList.put(i, list);
    		}
    		return fourCardList;
    
    	}

    dada

    spivti, 13 Апреля 2016

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

    +73

    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
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    import java.awt.AWTEvent;
    import java.awt.Component;
    import java.awt.event.MouseEvent;
    import java.util.ArrayList;
    import java.util.List;
    
    import javax.swing.JLayeredPane;
    
    public class ContainerOperations extends JLayeredPane {
    	private static final long serialVersionUID = 1L;
    
    	private CardPositionInContainer cardPosition;
    	private List<Card> rem = new ArrayList<Card>();	
    	
    	public List<Card> getRem() {
    		return rem;
    	}
    
    	public ContainerOperations() {
    		enableEvents(AWTEvent.MOUSE_EVENT_MASK);
    	}
    
    	public void addFromListInToContainer(List<Card> list) {
    		if (getComponentCount() == 0)
    			addInToEmpty(list);
    		else
    			appendIfContains(list);
    	}
    
    	private void appendIfContains(List<Card> list) {
    		int fromIndex = highestLayer() + 1;
    		int toIndex = highestLayer() + 1 + list.size();
    		appendFromLayerToLayer(list, fromIndex, toIndex);
    	}
    
    	private void addInToEmpty(List<Card> list) {
    		int fromIndex = 0;
    		int toIndex = list.size();
    		cardPosition.setCardPosition(0);
    		appendFromLayerToLayer(list, fromIndex, toIndex);
    	}
    
    	private void appendFromLayerToLayer(List<Card> list, int fromIndex,
    			int toIndex) {
    		int listIndex = 0;
    		for (int layer = fromIndex; layer < toIndex; layer++) {
    			Card card = list.get(listIndex++);
    			cardPosition.setCardPosition(layer);
    			card.setLocation(cardPosition.getCardPosition());
    			add(card, new Integer(layer));
    		}
    	}
    	
    	@Override
    	protected void processMouseEvent(MouseEvent e) {
    		rem.clear();
    		if (e.getID() == MouseEvent.MOUSE_PRESSED) {
    			Component comp = getComponentAt(e.getPoint());
    			addInToRemListIfMousePressed(comp);
    		} 
    	}
    
    
    	private void  addInToRemListIfMousePressed(Component comp){
    		if (comp instanceof Card) {
    			Component mark = (Card) comp;
    			int markedLayer = getMarkedLayer(mark);
    			addInToRemList(markedLayer);		
    		}
    	}
    	
    	private Integer getMarkedLayer(Component marked) {
    		return getComponentCount() - getComponentZOrder(marked) - 1;
    	}
    
    	private void addInToRemList(int layerOfmark) {
    		for (int i = layerOfmark; i < highestLayer() + 1; i++) {
    			Component[] card = getComponentsInLayer(i);
    			rem.add((Card) card[0]);
    		}
    	}
    
    }

    spivti, 15 Июля 2014

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

    +65

    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
    public class Path {
    	private String path;	
    	private char winSep = '\\';
    	private char unixSep = '/';
    	
    	public void set(String path){				
    		if(!path.endsWith(File.separator)){ 
    			path.concat(File.separator);
     		}
    		this.path = path;
    		if(File.separatorChar == winSep && path.charAt(0) == unixSep){ 
    			this.path = path.replace(unixSep, winSep).substring(1); 
     		}		
    				
    	 }
    
    	public String get(){
    		String path = new String(this.path);
     		return path;  	
    	}
    	
    	public String getRoot(){
    		String root = null;
    		 if(File.separatorChar == unixSep){ 
    			root = "/";
    		} 		
    		if(File.separatorChar == winSep){ 
    			root = this.path.substring(0, this.path.indexOf(winSep)+1);
    		}		
    		return root;
    	}
    	
    }

    в 6 йаве нету класса Path, пришлось самому делать костыль-велосипед. тут где-то ошибочка есть, пока не смотрел.

    spivti, 22 Ноября 2013

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

    +69

    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
    package first;
    
    import java.util.Scanner;
    
    public class First {
    
    	public static void main(String[] args) {
    
    		String line = "Empty directories can be moved. If the directory is not empty,";
    
    		System.out.println("Enter simbol to delete:");
    		Scanner s = new Scanner(System.in);
    		String del = s.nextLine();
    		s.close();
    
    		StringBuilder sb = new StringBuilder(line);
    		for (int i = 0; i < sb.length(); i++) {
    			if (sb.charAt(i) == del.charAt(0)) {
    				sb.deleteCharAt(i);
    				
    			}
    		}
    
    		System.out.println(sb);
    	}
    
    }

    Это из раннего. Давно что-то не выкладывал, вот руки зачесались.

    spivti, 06 Октября 2013

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

    −88

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    import sys
    _argv = sys.argv
    _argv = str(_argv)[1:-1].replace('\\', '\'')
    
    print _argv

    просто говнокод, глубоко не вникайте.

    spivti, 11 Сентября 2013

    Комментарии (28)
  7. C++ / Говнокод #13715

    −16

    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
    #include <iostream>
    #include <string>
    
    using namespace std;
    /*
    
    */
    
    int change_word(const int begin_pos, string &words, int k, char c)
    {
        int pos = begin_pos;
        int char_count = 0;
    
        bool replaced = false; 
    
        while(pos < words.length() && isalpha(words[pos]))
        {
    
            char_count++;
            if(char_count == k && !replaced)
            {
                words[pos] = c;
                replaced = true;
    
            }
            pos++;
    
        }
    
        return pos; 
    }
    
    void change_words(string &words, int k, char c)
    {
        int i = 0;
    
        while(i < words.length())
        {
            if(isalpha(words[i]))
            {
                i = change_word(i, words, k, c);
    
            }
            else
            {
                i++;
            }
    
        }
    
    }
    
    
    int main()
    {
        char c = '>'; 
        int k = 0; 
        string words = "Length of the substring to be copied";
    
        cout << "enter number:";
        cin >> k;
        change_words(words, k, c);
    
        cout << "changed text: " << words << endl;
        return 0;
    }

    лаба на с++, заменить в тексте к-тую букву на символ с.

    spivti, 01 Сентября 2013

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

    +64

    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
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    import java.util.ArrayList;
    
    public class Chapter19 {
    	/* find repeat chars in text (in all words of text)
    	 * print repeat chars
    	 * 
    	 */
    	private String stringArray[] = { "Allocates ae neaw Setringa tehat",
    			"represeants tahe same saequence " };
    			
    	final private String alfabetArray = "abcdefghijklmnopqrstuvwxyz"; 
    	private ArrayList <Character> repeatChars; 
    
    	public void run() {
    		
    		printStringArray();			
    		
    		repeatChars = new ArrayList<Character>();
    		extractRepeatChars();
    		
    		if (!repeatChars.isEmpty()) {
    			printRepeatChars();
    		} else {
    			System.out.println("not repeat ");
    		}
    	}
    	
    	private void printRepeatChars(){
    		System.out.println("");
    		for (char c : repeatChars) {
    			System.out.println(c);
    		}	
    	}
    	
    	private void printStringArray(){
    		System.out.println(" ");
    		for (String s : stringArray) {
    			System.out.println(s);
    		}	
    	}
    	
    	
    	public String [][] parseStringArray() {
    		String wordsArray[][] = new String[stringArray.length][]; 
    		for (int i = 0; i < wordsArray.length; i++) {
    			wordsArray[i] = stringArray[i].split("\n|\t| "); 
    		}
    		
    		return wordsArray;
    	}
    
    	
    	public int findRepeatCharInWordsArray(String [][]wordsArray, char c) {		 													
    		for (int i = 0; i < wordsArray.length; i++) { 										
    			for (int j = 0; j < wordsArray[i].length; j++) { 			
    				if (wordsArray[i][j].indexOf(c) < 0) { 
    					return 0; // zodyje c nerastas
    				}
    			}	
    		}
    
    		return 1;
    	}
    
    
    	public void extractRepeatChars() {
    		String wordsArray[][] = parseStringArray();	
    		for (char c : alfabetArray.toCharArray()) {
    			if (findRepeatCharInWordsArray(wordsArray, c) > 0) {
    				repeatChars.add(c);
    			}
    		}
    	}
    
    } // end

    chapter 19

    spivti, 24 Августа 2013

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

    +64

    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
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    import java.util.ArrayList;
    import java.util.LinkedList;
    import java.util.Scanner;
    
    public class Chapter4 {
    	/*
    	 * find minimal difference symbols words in line; if words count > 0, print
    	 * first word;
    	 */
    	public LinkedList<String> wordsList = new LinkedList<>();
    	public ArrayList<String> minUniqueSimbolWords = new ArrayList<String>();
    	final int wordsCount = 3; 
    
    	public void run() {
    
    		System.out.println("Iveskite " + wordsCount + " zodzius: ");
    		Scanner scan = new Scanner(System.in);
    		for (int i = 0; i < wordsCount; i++) {
    			wordsList.add(scan.nextLine());
    		}
    
    		scan.close();
    
    		addMinUniqueSimbolCountWordsToList();
    		if (minUniqueSimbolWords.isEmpty()) {
    			System.out.println("not unique words");
    			return;
    		}
    
    		printUniqueSimbolWords();
    
    	}
    
    	private void printUniqueSimbolWords() {
    		System.out
    				.println("");
    		for (String s : minUniqueSimbolWords) {
    			System.out.println(s);
    		}
    	}
    
    	private void addMinUniqueSimbolCountWordsToList() {
    		for (String word : wordsList) {			
    			if (minUniqueSimbolWords.isEmpty()) { 
    				minUniqueSimbolWords.add(word); 
    			} else {
    				int count = getUniqueSimbolCount(word.toCharArray());
    				addMinUniqueSimbolsCountWord(word, count);
    			}
    		}
    	}
    
    	
    	private void addMinUniqueSimbolsCountWord(String word, int count) {
    		int countOfFirstFromList = getUniqueSimbolCount(wordsList.getFirst()
    				.toCharArray());
    		if (count < countOfFirstFromList) {
    			minUniqueSimbolWords.clear();
    			minUniqueSimbolWords.add(word);
    
    		} else if (count == countOfFirstFromList) {
    			minUniqueSimbolWords.add(word); 
    		}
    
    	}
    
    	
    	private int getUniqueSimbolCount(char[] str) {
    		ArrayList<Character> lst = new ArrayList<Character>();
    		for (char c : str) {
    			if (!lst.contains(c)) { 
    				lst.add(c);
    			}
    		}
    
    		return lst.size();
    	}
    
    } // end class

    еще одно задание

    spivti, 24 Августа 2013

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

    +65

    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
    /*
     * 
     * 
     */
    
    public class Chapter1 {
    	private String text[] = { "Returns a  new string that is a ",
    			"substring of this string" };
    	private String splitted[];
    
    	private int k = 2; // 
    	private char c = '<'; 
    
    	public void run() {
    		for (int i = 0; i < text.length; i++) {
    			text[i] = makeString(text[i], change(i)); 
    														
    			System.out.println(text[i]);
    			
    		}
    	}
    
    	/*
    	 * 
    	 */
    	private String makeString(String textLine, String[] changed) {
    		StringBuilder sBui = new StringBuilder(textLine);
    
    		int i = 0; // changed index
    		int beginIndex = 0; 
    		
    
    		for (int j = 0; j < splitted.length; j++) {
    			beginIndex = sBui.indexOf(splitted[j], beginIndex); // word begin		
    			int endIndex = beginIndex + splitted[j].length(); // word end
    			
    			if(splitted[j].length() > k){			
    				sBui.delete(beginIndex, endIndex);
    				sBui.insert(beginIndex, changed[i++]);
    			} 
    			
    			beginIndex = endIndex;
    		}
    						
    		return sBui.toString();
    	}
    
    	/*
    	 * 
    	 * 
    	 */
    	public String[] change(int i) {
    
    		splitted = text[i].split("\t|\n| "); 
    
    		for (int indx = 0; indx < splitted.length; indx++) {
    			if (splitted[indx].length() > k) {
    				StringBuilder sBuild = new StringBuilder(splitted[indx]);
    				sBuild.setCharAt(k, c);
    				splitted[indx] = sBuild.toString(); // irasomas pakeistas zodis				
    			}
    		}
    
    		return splitted;
    	}
    
    } // end

    help, задание - вкаждом слове текста к-тую буквы заменить с символом, если длина слова меньше к, замену не выполнять.

    Exception in thread "main" java.lang.StringIndexOutOfBoundsExceptio n: String index out of range: -1 (проблема)

    spivti, 24 Августа 2013

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