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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.08.2017, 11: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, 11:41   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от 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, 12:12   #3
Alexmur07
Форумчанин
 
Регистрация: 20.11.2008
Сообщений: 121
По умолчанию

вот на сколько можно было деградировать что не в состоянии даже уравнение решить
Разгон – вещь не определённая,
по этому конечный результат зависит от конкретного чипа (CPU или GPU а также моста), качества охлаждения и везения.
Alexmur07 вне форума Ответить с цитированием
Старый 28.08.2017, 19: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, 20:03   #5
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

Если, например, a == b, то m останется без инициализации
Black Fregat вне форума Ответить с цитированием
Старый 28.08.2017, 20: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, 20:24   #7
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

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

я понял спасибо
Разгон – вещь не определённая,
по этому конечный результат зависит от конкретного чипа (CPU или GPU а также моста), качества охлаждения и везения.
Alexmur07 вне форума Ответить с цитированием
Старый 28.08.2017, 20: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 в 20:41.
Alexmur07 вне форума Ответить с цитированием
Старый 28.08.2017, 21:15   #10
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

А что непонятного в нем? По заданию вы должны написать два метода и второй должен использовать первый.
p51x вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


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