iPhone UIWebView - Можно ли отключить автоматическое заполнение в поле ввода текста?

Как вам нужно, чтобы день-номер в дневную строку дважды, поместите его в отдельную функцию. Я хочу показать вам несколько возможных подходов. Версия 1, базовая, простая и аккуратная:

// isolate the daynumber --> daystring in a function, that's tidier
String dayFor (int daynumber) {
    String dayAsString = "ERROR";  // the default return value
    switch(dayNumber) {
        case 0 :
            dayAsString = "Sunday";
            break;
        case 1 :
            dayAsString = "Monday";
            break;
        // and so on, until
        case 6 :
            dayAsString = "Saturday";
            break;
     }
     return dayAsString;
}

Более короткая версия, которая использует массив вместо оператора switch:

String dayFor (int daynumber) {
    String dayStrings[] = new String[]{"Sunday","Monday", .... "Saturday"};
    // notice that daynumber's modulo is used here, to avoid index out of
    // bound errors caused by erroneous daynumbers:
    return dayStrings[daynumber % 7];
}

Возможно, соблазн попробовать что-то вдоль линий следующей функции, где каждый случай возвращается немедленно, но наличие нескольких операторов возврата не рекомендуется. Просто покажите это здесь, потому что это технически возможно, и вы столкнетесь с ним иногда

String dayFor (int daynumber) {
    switch(dayNumber) {
        case 0 :
            return "Sunday";
        case 1 :
            return "Monday";

        // and so on, until

        case 6 :
            return "Saturday";
     }
     // normally not reached but you need it because the compiler will
     // complain otherwise anyways.
     return "ERROR";
}

. После этого довольно длительного ввода основная функция становится коротким и простым. После ввода вам просто нужно:

// present day + elapsed modulo 7 = the future day
int future = (day + elapsed) % 7;
System.out.print("Today is " + dayFor(day) + " and the future day is " + dayFor(future) );

Не забудьте добавить код, чтобы проверить свои входы!

13
задан gef 23 January 2011 в 10:24
поделиться