-
Лучший говнокод
- В номинации:
-
- За время:
-
-
+67
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
/**
* Удаляет "плохие" символы в пути и заменяет пробелы на символ подчеркивания.
* Двойные кавычки заменяются на одинарные.
* @param path путь.
* @return путь с удаленными недопустимыми символами.
*/
public static String correctPath(String path) {
return correctPath(path);
}
Moloth,
06 Сентября 2013
-
+67
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
System.out.println(randomString(-229985452) + " " + randomString(-147909649));
Функция randomString() реализуется примерно вот так:
public static String randomString(int i)
{
Random ran = new Random(i);
StringBuilder sb = new StringBuilder();
for (int n = 0; ; n++)
{
int k = ran.nextInt(27);
if (k == 0)
break;
sb.append((char)('`' + k));
}
return sb.toString();
}
Оригинальный hello world на java
tsovak,
28 Марта 2013
-
+67
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
public final class SomeActivity extends Activity {
@Override
protected Dialog onCreateDialog(int id) {
Dialog dialog = null;
if (id == DialogGenerator.SETTINGS_DIALOG) {
dialog = mDialogGenerator.createSettingsDialog();
} {
dialog = super.onCreateDialog(id);
}
return dialog;
}
@Override
protected void onPrepareDialog(int id, Dialog dialog) {
super.onPrepareDialog(id, dialog);
if (id == DialogGenerator.SETTINGS_DIALOG) {
mDialogGenerator.prepareSettingsDialog((AlertDialog) dialog, someBoolValue, someObjectValue);
}
}
}
public final class DialogGenerator {
public Dialog createSettingsDialog() {
int dialogId = SETTINGS_DIALOG;
int titleId = R.string.settingsTitle;
String[] itemsArray = getStringArray(R.array.settings);
ThreeTypeOptionsAdapter adapter = new ThreeTypeOptionsAdapter(mControllerAsActivity, itemsArray,
mCheckableOptions, mTwoTextOptions);
AlertDialogCallback dialogCallback = new AlertDialogCallback(mControllerAsDialogHost, dialogId);
AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(mControllerAsActivity);
dialogBuilder.setTitle(titleId);
// костыль
dialogBuilder.setSingleChoiceItems(itemsArray, 0, null);
// конец костыля
dialogBuilder.setAdapter(adapter, dialogCallback);
AlertDialog dialog = dialogBuilder.create();
setMainListenersOnDialog(dialog);
dialog.getListView().setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
return dialog;
}
public void prepareSettingsDialog(AlertDialog dialog, boolean someBoolValue, String someStringValue) {
//костыль
ListView dialogList = dialog.getListView();
dialogList.clearChoices();
dialogList.setItemChecked(POSITION_FOR_BOOL, someBoolValue);
//конец костыля
ThreeTypeOptionsAdapter adapter = (ThreeTypeOptionsAdapter) dialogList.getAdapter();
adapter.setAdditionalValue(POSITION_FOR_STRING, someStringValue);
}
}
Задача: показать диалог, внутри которого есть 3 типа ячеек: выделяемые с чекбоксом справа, невыделяемые с дополнительной надписью справа, обычные невыделяемые.
Примерно так:
Use GPS checkbox
Selected country Russia
Launch some activity
В комментах к методам я описал костыль:
Здравствуйте, дорогие друзья. Сегодня мы с вами поговорим об уникальном виде животных, которых открыли только в конце XX века. Это, дорогие друзья, Ява-обезьяны. Давайте дружно откроем сырцы Андроид-СДК, а именно - класс com.android.internal.app.AlertController .AlertParams - и метод createListView(AlertController). Видите, одна обезьяна решила, что нам будет удобней, если диалог автоматом задисмиссится, когда мы щёлкнем по элементу списка в CHOICE_MODE_NONE, и OnClickListener будет не null? А теперь давайте перейдём в android.app.AlertDialog.Builder. Видите, там другая обезьяна решила, что для multi-choice списка нам не потребуется хитроумный адаптер? Поэтому, дорогие друзья, когда мы поставили кастомный адаптер (setAdapter()) и сопроводили его слушателем, то какой бы мы choice mode не ставили после AlertDialog.Builder.create(), диалог дисмиссился. Поэтому, дорогие друзья, пришлось пойти на хитрость и вначале установить single choice (чтобы флаг mIsSingleChoice стал true), а потом уже ставить адаптер.
QuickNick,
20 Февраля 2013
-
+67
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
//разделяем даты на день, месяц, год
$date_one=$_POST['date_one'];
$date_two=$_POST['date_two'];
$mounth_one=substr($date_one,0,2);
$day_one=substr($date_one,3,2);
$year_one=substr($date_one,6,4);
$mounth_two=substr($date_two,0,2);
$day_two=substr($date_two,3,2);
$year_two=substr($date_two,6,4);
//смотрит какая дата больше чтоб передать функции в правильном порядке
if ($year_one>$year_two || ($year_one==$year_two &&$mounth_one>$mounth_two)||($year_one==$year_two&&$mounth_one==$mounth_two&&$date_one>$date_two)){
echo 'первая дата больше<br/>';
counting_days($date_one,$date_two);
}else{
echo 'вторая дата больше<br/>';
counting_days($date_two,$date_one);
}
забыл что сравнить даты можно гораздо проще
loki,
06 Февраля 2013
-
+67
- 1
- 2
- 3
- 4
- 5
- 6
- 7
class IntegerUtils
{
public static function isInteger($value)
{
return preg_match('/[0-9]+/', $value);
}
}
Must have класс, который должен быть у каждого в его библиотеке "велоприседов". Поистине краткий, лаконичный, гениальный. Даешь 100% говнокод!
SunnyMagadan,
22 Января 2013
-
+67
- 1
- 2
- 3
- 4
/**Not related to Cosmos and Space-ships
* */
public class SpaceListener {
...
Просто шутка в комментарии к лисенеру нажатий пробела.
alexcom,
18 Декабря 2012
-
+67
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
function IntToHex(N: integer): string;
const
S = '0123456789ABCDEF';
var
i: integer;
begin
SetLength(Result, 8);
for i := 0 to 7 do Result[8 - i] := S[N shr (i shl 2) and $0F + 1];
end;
Носки менял, ноги мыл, все равно воняет хаккирством.
И оно почему-то в модуле WinAPI.pas у Тараса лежит о_О
PascalGovno,
23 Ноября 2012
-
+67
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Введите число:");
String data = "";
Integer x;
try {
data = in.readLine();
} catch (IOException ex) {
System.err.println(ex.getLocalizedMessage());
return;
}
try {
x = Integer.parseInt(data);
} catch(NumberFormatException ex) {
System.out.println("Вы ввели не число!");
return;
}
if(x <= 0) {
System.out.println("Число должно быть положительным!");
return;
}
HashMap friends_nums = new HashMap<Integer, Integer>();
for(int i = 0; i <= x; i++) {
int s = 0;
for(int y = 1; y < i; y++) {
if(i % y == 0) { s += y; }
}
int t = 0;
for(int y = 1; y < s; y++) {
if(s % y == 0) { t += y; }
}
if(t == i && s != i && !friends_nums.containsValue(i)) { friends_nums.put(i, s); }
}
if(friends_nums.isEmpty()) {
System.out.println("Дружественных пар не найдено!");
} else {
System.out.println("Найдены следующие дружественные числа:");
Object[] one = friends_nums.keySet().toArray();
Object[] two = friends_nums.values().toArray();
for(int i = 0; i<friends_nums.size(); i++) {
System.out.println(one[i] + " и " + two[i]);
}
}
}
Дружественными числами называются два различных натуральных числа, для которых сумма всех собственных делителей первого числа (сумма всех делителей, отличных от самого числа) равна второму числу и сумма всех собственных делителей второго числа равна первому числу. Примеры дружественных чисел: 220 и 284. Делители числа 220: 1, 2, 4, 5, 10, 11, 20, 22, 44, 55, 110 (в сумме дают число 284); делители числа 284: 1, 2, 4, 71, 142 (в сумме 220). Примеры других пар дружественных чисел: 2620 и 2924, 17296 и 18416. Написать программу, которая по заданному натуральному числу N находит все пары дружественных чисел, не превосходящих N.
JavaCoder,
06 Ноября 2012
-
+67
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
if( $proverka === true )
$_SESSION['id'] = $user['id'];
if( $proverka === true )
$_SESSION['milo'] = $user['milo'];
if( $proverka === true )
$_SESSION['parol'] = $user['parol'];
if( $proverka === true )
$_SESSION['prava'] = $user['prava'];
if( $proverka === false )
echo 'Ввиденные вами данные неверны!';
if( $proverka === false )
$_SESSION['id'] = '';
if( $proverka === false )
$_SESSION['milo'] = '';
if( $proverka === false )
$_SESSION['parol'] = '';
if( $proverka === false )
$_SESSION['prava'] = '';
0-0 //-0 //-\\
Snickers,
19 Октября 2012
-
+67
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
if ($is_past == "1")
{
if ($disable_sections == "1")
mysql_query("update setting set disable_sections = 1");
else
mysql_query("update setting set disable_sections = 0");
if ($disable_katalog_on_main_page == "1")
mysql_query("update setting set disable_katalog_on_main_page = 1");
else
mysql_query("update setting set disable_katalog_on_main_page = 0");
if ($disable_news_on_main_page == "1")
mysql_query("update setting set disable_news_on_main_page = 1");
else
mysql_query("update setting set disable_news_on_main_page = 0");
if ($disable_help_on_main_page == "1")
mysql_query("update setting set disable_help_on_main_page = 1");
else
mysql_query("update setting set disable_help_on_main_page = 0");
if ($disable_vote_on_main_page == "1")
mysql_query("update setting set disable_vote_on_main_page = 1");
else
mysql_query("update setting set disable_vote_on_main_page = 0");
if ($disable_zakaz_on_main_page == "1")
mysql_query("update setting set disable_zakaz_on_main_page = 1");
else
mysql_query("update setting set disable_zakaz_on_main_page = 0");
if ($disable_reklama_on_main_page == "1")
mysql_query("update setting set disable_reklama_on_main_page = 1");
else
mysql_query("update setting set disable_reklama_on_main_page = 0");
if (issets($main_page))
mysql_query("update setting set main_page = '$main_page'");
if (issets($count_news))
mysql_query("update setting set count_news = $count_news");
if (issets($count_spec))
mysql_query("update setting set count_spec = $count_spec");
if (issets($sort_type))
mysql_query("update setting set sort_type = $sort_type");
if (issets($email))
mysql_query("update setting set email = '$email'");
if (issets($formmail))
mysql_query("update setting set formmail = '$formmail'");
if (issets($techmail))
mysql_query("update setting set techmail = '$techmail'");
if (issets($tel2))
mysql_query("update setting set tel2 = '$tel2'");
if (issets($tel3))
mysql_query("update setting set tel3 = '$tel3'");
if (issets($tel4))
mysql_query("update setting set tel4 = '$tel4'");
if (issets($info))
mysql_query("update setting set info = '$info'");
}
Админка моей мечты! Здоровенная!!! :D
kindofbear,
27 Августа 2012