Занимайте системное время и переводите в сезон для отображения информации на Java - PullRequest
0 голосов
/ 14 сентября 2018

Я работаю над своим первым проектом в Android Studio, используя Java, и заблудился.В приложении, над которым я работаю, есть кнопка (которая работает), с помощью которой можно перейти к новому действию.В зависимости от выбора пользователя, я хотел бы, чтобы новое действие отображало данные по сезонам.Например, если я нажму на NY и скажу «отправить», новое действие покажет «New York Knicks», если системное время говорит о его падении или «Янки весной» и т. Д. Единственная проблема - я не знаю, с чего начать, и поиск в Googleни к чему не привело.Я пришел из Python и в основном просто пытаюсь научить себя большему количеству языков для лучших возможностей, но мне не так повезло в Java.Есть идеи?

1 Ответ

0 голосов
/ 14 сентября 2018

Я бы сделал что-то вроде этого:

public enum Season {
    Winter,
    Spring,
    Summer,
    Fall
}

public Season getSeason(int dayOfYear) {
    // define "day of year" ranges for the northern hemisphere
    final int DAY_SPRING_MIN = 80;
    final int DAY_SPRING_MAX = 172;
    final int DAY_SUMMER_MIN = DAY_SPRING_MAX;
    final int DAY_SUMMER_MAX = 264;
    final int DAY_FALL_MIN = DAY_SUMMER_MAX;
    final int DAY_FALL_MAX = 355;

    Season result = Season.Winter;
    if (dayOfYear > DAY_SPRING_MIN && dayOfYear <= DAY_SPRING_MAX) {
        result = Season.Spring;
    } else if (dayOfYear > DAY_SUMMER_MIN && dayOfYear <= DAY_SUMMER_MAX) {
        result = Season.Summer;
    } else if (dayOfYear > DAY_FALL_MIN && dayOfYear <= DAY_FALL_MAX) {
        result = Season.Fall;
    }
    return result;
}

и назвал бы это:

Calendar calendar = Calendar.getInstance();
int currentDayOfYear = calendar.get(Calendar.DAY_OF_YEAR);
Log.e("Season", "current season : " + getSeason(currentDayOfYear));

Я советую вам проверить мои значения кстати ^^

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...