HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > Общие вопросы программирования
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 16.08.2015, 22:20
Gaikotsu
Флудер
Регистрация: 15.08.2015
Сообщений: 2,267
С нами: 5654645

Репутация: 0


По умолчанию

я удивлен что никто не выкладывает эталонный пример того, как не надо писать, из сырцов овера/лв, который так и кочует из сборки в сборку и никто его почему-то не исправляет

метод из класса ExProperties

Код:


Код:
public static boolean parseBoolean(String s)
    {
        switch (s.length()) {
            case 1: {
                char ch0 = s.charAt(0);
                if (ch0 == 'y' || ch0 == 'Y' || ch0 == '1')
                {
                    return true;
                }
                if (ch0 == 'n' || ch0 == 'N' || ch0 == '0')
                {
                    return false;
                }
                break;
            }
            case 2: {
                char ch0 = s.charAt(0);
                char ch1 = s.charAt(1);
                if ((ch0 == 'o' || ch0 == 'O') &&
                        (ch1 == 'n' || ch1 == 'N') )
                {
                    return true;
                }
                if ((ch0 == 'n' || ch0 == 'N') &&
                        (ch1 == 'o' || ch1 == 'O') )
                {
                    return false;
                }
                break;
            }
            case 3: {
                char ch0 = s.charAt(0);
                char ch1 = s.charAt(1);
                char ch2 = s.charAt(2);
                if ((ch0 == 'y' || ch0 == 'Y') &&
                        (ch1 == 'e' || ch1 == 'E') &&
                        (ch2 == 's' || ch2 == 'S') )
                {
                    return true;
                }
                if ((ch0 == 'o' || ch0 == 'O') &&
                        (ch1 == 'f' || ch1 == 'F') &&
                        (ch2 == 'f' || ch2 == 'F') )
                {
                    return false;
                }
                break;
            }
            case 4: {
                char ch0 = s.charAt(0);
                char ch1 = s.charAt(1);
                char ch2 = s.charAt(2);
                char ch3 = s.charAt(3);
                if ((ch0 == 't' || ch0 == 'T') &&
                        (ch1 == 'r' || ch1 == 'R') &&
                        (ch2 == 'u' || ch2 == 'U') &&
                        (ch3 == 'e' || ch3 == 'E') )
                {
                    return true;
                }
                break;
            }
            case 5: {
                char ch0 = s.charAt(0);
                char ch1 = s.charAt(1);
                char ch2 = s.charAt(2);
                char ch3 = s.charAt(3);
                char ch4 = s.charAt(4);
                if ((ch0 == 'f' || ch0 == 'F') &&
                        (ch1 == 'a' || ch1 == 'A') &&
                        (ch2 == 'l' || ch2 == 'L') &&
                        (ch3 == 's' || ch3 == 'S') &&
                        (ch4 == 'e' || ch4 == 'E') )
                {
                    return false;
                }
                break;
            }
        }

        throw new IllegalArgumentException("For input string: \"" + s + "\"");
    }
 
Ответить с цитированием

  #2  
Старый 16.08.2015, 22:29
mAnGoL
Новичок
Регистрация: 21.01.2010
Сообщений: 0
С нами: 8581120

Репутация: 0
По умолчанию

Цитата:
Сообщение от Gaikotsu  

я удивлен что никто не выкладывает эталонный пример того, как не надо писать, из сырцов овера/лв, который так и кочует из сборки в сборку и никто его почему-то не исправляет
метод из класса ExProperties

Код:


Код:
public static boolean parseBoolean(String s)
    {
        switch (s.length()) {
            case 1: {
                char ch0 = s.charAt(0);
                if (ch0 == 'y' || ch0 == 'Y' || ch0 == '1')
                {
                    return true;
                }
                if (ch0 == 'n' || ch0 == 'N' || ch0 == '0')
                {
                    return false;
                }
                break;
            }
            case 2: {
                char ch0 = s.charAt(0);
                char ch1 = s.charAt(1);
                if ((ch0 == 'o' || ch0 == 'O') &&
                        (ch1 == 'n' || ch1 == 'N') )
                {
                    return true;
                }
                if ((ch0 == 'n' || ch0 == 'N') &&
                        (ch1 == 'o' || ch1 == 'O') )
                {
                    return false;
                }
                break;
            }
            case 3: {
                char ch0 = s.charAt(0);
                char ch1 = s.charAt(1);
                char ch2 = s.charAt(2);
                if ((ch0 == 'y' || ch0 == 'Y') &&
                        (ch1 == 'e' || ch1 == 'E') &&
                        (ch2 == 's' || ch2 == 'S') )
                {
                    return true;
                }
                if ((ch0 == 'o' || ch0 == 'O') &&
                        (ch1 == 'f' || ch1 == 'F') &&
                        (ch2 == 'f' || ch2 == 'F') )
                {
                    return false;
                }
                break;
            }
            case 4: {
                char ch0 = s.charAt(0);
                char ch1 = s.charAt(1);
                char ch2 = s.charAt(2);
                char ch3 = s.charAt(3);
                if ((ch0 == 't' || ch0 == 'T') &&
                        (ch1 == 'r' || ch1 == 'R') &&
                        (ch2 == 'u' || ch2 == 'U') &&
                        (ch3 == 'e' || ch3 == 'E') )
                {
                    return true;
                }
                break;
            }
            case 5: {
                char ch0 = s.charAt(0);
                char ch1 = s.charAt(1);
                char ch2 = s.charAt(2);
                char ch3 = s.charAt(3);
                char ch4 = s.charAt(4);
                if ((ch0 == 'f' || ch0 == 'F') &&
                        (ch1 == 'a' || ch1 == 'A') &&
                        (ch2 == 'l' || ch2 == 'L') &&
                        (ch3 == 's' || ch3 == 'S') &&
                        (ch4 == 'e' || ch4 == 'E') )
                {
                    return false;
                }
                break;
            }
        }

        throw new IllegalArgumentException("For input string: \"" + s + "\"");
    }
Этот бред нужно вообще переделать на рефлекшен который будет автоматически заполнять переменную. Без такой херни.

И посадить все на хмл.
 
Ответить с цитированием
Ответ



Предыдущая тема Следующая тема

Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.