Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


Ответ
 
Опции темы
Старый 24.08.2017, 12:28   #1
Alexmur07
Форумчанин
 
Регистрация: 20.11.2008
Сообщений: 121
По умолчанию Что я сделал не правильно?

в этой теме я буду писать задачки и приводить решение к ним, в решении будут ошибки объясните мне почему не получается так сделать ?
Цитата:
необходимо перевести градусы Цельсии в форейторы
TC = (TF – 32) * 5/9 - это типо формула , но нам даны цельсии, чтобы не ломать голову нашёл в инете формулу
TF = 9/5 * (TC+ 32) решение:
Код:
package com.company;

public class Main {

      public static void main(String[] args) {
          System.out.println(convertCelsiumToFahrenheit(40));
    }

    public static double convertCelsiumToFahrenheit(int celsium) {
        double TF;
        int TC;
        TC = celsium;
        TF=9/5*(TC+32);
        return TF;
    }
}
т.е. я перевожу 40 град в форенгейты и у меня получается 70,0градусов, иду на сторонний ресурс перевод градусов в форенгейты онлайн и перевожу , получается 40 градусов = 104 форенгейта , что я сделал не так ? ведь вормула переода градусов в форенгейты я взаля в инете везде одна и таже написана
Разгон – вещь не определённая,
по этому конечный результат зависит от конкретного чипа (CPU или GPU а также моста), качества охлаждения и везения.
Alexmur07 вне форума Ответить с цитированием
Старый 24.08.2017, 12:41   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,260
По умолчанию

Цитата:
Сообщение от Alexmur07 Посмотреть сообщение
TC = (TF – 32) * 5/9 - это типо формула , но нам даны цельсии, чтобы не ломать голову
стоило "поломать голову".
формула, которую Вы нашли для вычисления TF не соответствует исходной формуле!

смотрите.
вся "ломка":
TC = (TF – 32) * 5/9
TC*9/5 = TF – 32
TF – 32 = TC*9/5
TF = 32 + TC*9/5

вот и всё.
подставляйте в неё ваши 40 градусов Цельсия.
получаете 104 градуса Фаренгейта.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 24.08.2017, 13:12   #3
Alexmur07
Форумчанин
 
Регистрация: 20.11.2008
Сообщений: 121
По умолчанию

вот на сколько можно было деградировать что не в состоянии даже уравнение решить
Разгон – вещь не определённая,
по этому конечный результат зависит от конкретного чипа (CPU или GPU а также моста), качества охлаждения и везения.
Alexmur07 вне форума Ответить с цитированием
Старый 28.08.2017, 20:49   #4
Alexmur07
Форумчанин
 
Регистрация: 20.11.2008
Сообщений: 121
По умолчанию

Код:
package com.company;

public class Main {

    public static void main(String[] args) throws Exception {
        System.out.println(min(-20, -10));
        System.out.println(min(-20, -10, -30, -40));
        System.out.println(min(-20, -10, -30, 40));
    }

    public static int min(int a, int b) {
        int m;
        if (a < b)
            m = a;
        else m = b;
        return m;

    }
    public static int min(int a, int b, int c, int d) {
        int m;
        if (a < b && a < c && a < d)
            m = a;
        else if (b < a && b < c && b < d)
            m = b;
        else if (c < a && c < b && c < d)
            m = c;
        else if (d < a && d < b && d < c)
            m = d;
        return m;
    }

}
в чём моя ошибка ?
Разгон – вещь не определённая,
по этому конечный результат зависит от конкретного чипа (CPU или GPU а также моста), качества охлаждения и везения.
Alexmur07 вне форума Ответить с цитированием
Старый 28.08.2017, 21:03   #5
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,547
По умолчанию

Если, например, a == b, то m останется без инициализации
Black Fregat на форуме Ответить с цитированием
Старый 28.08.2017, 21:10   #6
Alexmur07
Форумчанин
 
Регистрация: 20.11.2008
Сообщений: 121
По умолчанию

но таких ситуаций же нету
System.out.println(min(-20, -10, -30, -40));
System.out.println(min(-20, -10, -30, 40));
две строки и цифры разные , как тогда записать правильно по вашему ,?
Разгон – вещь не определённая,
по этому конечный результат зависит от конкретного чипа (CPU или GPU а также моста), качества охлаждения и везения.
Alexmur07 вне форума Ответить с цитированием
Старый 28.08.2017, 21:24   #7
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,547
По умолчанию

Цитата:
Сообщение от Alexmur07 Посмотреть сообщение
но таких ситуаций же нету
Вы хотите, чтобы компилятор это проверил на этапе компиляции?
Пока он видит, что есть ветки, в которых m остаётся без инициализации.
Цитата:
Сообщение от Alexmur07 Посмотреть сообщение
как тогда записать правильно по вашему
Можно "в лоб" как в первом min - последнюю ветку сделать безусловной, ошибка уйдёт.
Но такой код будет явно неправильным.
Более правильно ещё заменить везде знаки строгого неравенства на знаки нестрогого.
Но практика советует не изобретать велосипед и написать
Код:
return min(a, min(b, min(c, d)));
Black Fregat на форуме Ответить с цитированием
Старый 28.08.2017, 21:28   #8
Alexmur07
Форумчанин
 
Регистрация: 20.11.2008
Сообщений: 121
По умолчанию

я понял спасибо
Разгон – вещь не определённая,
по этому конечный результат зависит от конкретного чипа (CPU или GPU а также моста), качества охлаждения и везения.
Alexmur07 вне форума Ответить с цитированием
Старый 28.08.2017, 21:38   #9
Alexmur07
Форумчанин
 
Регистрация: 20.11.2008
Сообщений: 121
По умолчанию

Код:
package com.company;

public class Main {

    public static void main(String[] args) throws Exception {
        System.out.println(min(-20, -10));
        System.out.println(min(-20, -10, -30, -40));
        System.out.println(min(-20, -10, -30, 40));
    }

    public static int min(int a, int b) {
        int m;
        if (a < b)
            m = a;
        else m = b;
        return m;

    }
    public static int min(int a, int b, int c, int d) {
        int m;
        if (a < b && a < c && a < d)
            m = a;
        else if (b < a && b < c && b < d)
            m = b;
        else if (c < a && c < b && c < d)
            m = c;
        else    m = d;
        return m;
    }

}
ещё можете подсказать исходя из условия что я не так сделал ?
Написать функцию, которая вычисляет минимум из четырёх чисел.
Функция min(a,b,c,d) должна использовать (вызывать) функцию min(a,b)

Подсказка:
Нужно написать тело двух существующих функций min.


Требования:
1. Программа должна выводить текст на экран.
2. Методы min не должны выводить текст на экран.
3. Метод main должен вызывать один раз метод min(a, b) и два раза метод min(a, b, c, d).
4. Метод main должен выводить на экран результат работы методов min. Каждый раз с новой строки.
5. Метод min(a, b) должен возвращать минимальное значение из чисел a, b.
6. Метод min(a, b, c, d) должен использовать метод min(a, b)
7. Метод min(a, b, c, d) должен возвращать минимальное значение из чисел a, b, c, d.


в шестом пункте не понятно что от меня хотят?
Разгон – вещь не определённая,
по этому конечный результат зависит от конкретного чипа (CPU или GPU а также моста), качества охлаждения и везения.

Последний раз редактировалось Alexmur07; 28.08.2017 в 21:41.
Alexmur07 вне форума Ответить с цитированием
Старый 28.08.2017, 22:15   #10
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,097
По умолчанию

А что непонятного в нем? По заданию вы должны написать два метода и второй должен использовать первый.
Пишу программы на С++. ТЗ, цену и сроки на p51x.fr {@} яндекс.ру
p51x вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C/C++ Что я сделал не правильно??? komrade Помощь студентам 3 25.06.2017 19:48
создать графический редактор в лазарусе!половину сделал а дальше никак не могу( кнопки все всё правильно сделал,а все равно не раб soso1 Помощь студентам 2 24.10.2013 17:05
Подскажиет пож-та что я сделал не правильно... d_adilet БД в Delphi 2 06.03.2012 06:49
правильно ли я сделал pinch000 Общие вопросы C/C++ 0 29.10.2009 01:54