Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.04.2017, 16:23   #1
Valoo
Пользователь
 
Регистрация: 08.04.2017
Сообщений: 11
По умолчанию Знак зодиака по дате рождения

Вывести знак зодиака по дате рождения. Как я понял это пишется так:
Код:
        public Object sayHello(String s) {
        String r = "";
        if (r < 20.1 && s > 18.2) {
            System.out.println("Водолей");
        } else if (r < 19.2 && r >= 20.3) {
            System.out.println("Рыбы");
но идея показывает, что это неправильно, где я ошибаюсь?

______________________
Используйте тег [CODE] (кнопка с решеткой # в форме сообщения) при вставке кода на форум.

Последний раз редактировалось Alex11223; 08.04.2017 в 16:48.
Valoo вне форума Ответить с цитированием
Старый 08.04.2017, 16:47   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

надо преобразовать строку в числа (месяц и день), а не пытаться сравнивать числа со строками.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 08.04.2017, 17:09   #3
Valoo
Пользователь
 
Регистрация: 08.04.2017
Сообщений: 11
По умолчанию

Спасибо) Теперь все работает.
Valoo вне форума Ответить с цитированием
Старый 09.04.2017, 16:16   #4
Valoo
Пользователь
 
Регистрация: 08.04.2017
Сообщений: 11
По умолчанию условия if else

Почему дальше первого условия if программа не идет, даже если я ввожу 23.2 и тому подобное. Если заданное число не соответствует 1 условию выводит "invalid data". И как это исправить.
Код:
  public String sayHello(String s) {
        String r = "";
        double i = Double.parseDouble(s);
        System.out.println(s);
        if (23.01 < i && i < 19.02)
        {
             r = "Aquarius";
        }
        else if (20.02 <= i && i <= 21.03)
        {
            r = "Pisces";
        }
        else if (21.3 <= i && i <= 21.4)
        {
            r = "Aries";
        }
        else if (21.4 <= i && i <= 20.5)
        {
            r = "Taurus";
        }
        else if (21.5 <= i && i <= 21.6)
        {
            r = "Gemini";
        }
        else if (21.6 <= i && i <= 22.7)
        {
            r = "Cancer";
        }
        else if (23.7 <= i && i <= 23.8)
        {
            r = "Leo";
        }
        else if (23.8 <= i && i <= 23.9)
        {
            r = "Virgo";
        }
        else if (24.9 <= i && i <= 23.10)
        {
            r = "Libra";
        }
        else if (24.10 <= i && i <= 21.11)
        {
            r = "Scorpio";
        }
        else if (22.11 <= i && i <= 21.12)
        {
            r = "Sagittarius";
        }
        else if (22.12 <= i && i <= 20.01)
        {
            r = "Capricorn";
        }
        else
        {
            r = "invalid data";
        }
        return r;
    }
Valoo вне форума Ответить с цитированием
Старый 09.04.2017, 16:30   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

А как число может быть одновременно больше 23.01 и меньше 19.2? Ну и дальше по коду ))
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 09.04.2017, 16:37   #6
Valoo
Пользователь
 
Регистрация: 08.04.2017
Сообщений: 11
По умолчанию

Если честно я уже долго бьюсь над этой лабой, мозги уже не соображают. Как корректор записать условие, что бы следующие функции тоже проверялись?
Valoo вне форума Ответить с цитированием
Старый 09.04.2017, 16:41   #7
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Наверно так хотел (19.02 <= i && i < 23.01), а получилось хрен знамо как )) И дальше аналогично есть
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 09.04.2017, 16:43   #8
Valoo
Пользователь
 
Регистрация: 08.04.2017
Сообщений: 11
По умолчанию

Да, именно это я и хотел. Спасибо.
Valoo вне форума Ответить с цитированием
Старый 09.04.2017, 17:17   #9
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Так нельзя даты сравнивать/представлять. У вас же 23 января получается > 20 февраля и т.п.

Говорю ж, вам 2 числа надо для месяца и дней. Либо просто вводите 2 числа, либо из этой строки их доставайте (split или substring) если нужен именно такой формат
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 09.04.2017 в 17:29.
Alex11223 вне форума Ответить с цитированием
Старый 09.04.2017, 17:56   #10
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

О-о, то еще и даты
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
таблица определение знака зодиака по дате рождения(в Excel). Hofman Microsoft Office Excel 10 02.02.2013 22:18
по дате рождения и текущей дате (день, месяц, год) определить сколько дней до дня рождения (код на ПАСКАЛЕ) Николай1 Помощь студентам 1 16.02.2012 09:07
Определить знак зодиака qwertyuiop12345678 Помощь студентам 4 27.10.2009 17:28
Надо найти функцию, По вводимой в ячейку дате рождения показать название соответствующего знака Зодиака. Incognitoal Microsoft Office Excel 13 03.03.2009 08:18
Паскаль. Программа - Ваш знак зодиака Vanet Помощь студентам 5 11.10.2007 21:11