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

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

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

в этой теме я буду писать задачки и приводить решение к ним, в решении будут ошибки объясните мне почему не получается так сделать ?
Цитата:
необходимо перевести градусы Цельсии в форейторы
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
Сообщений: 25,878
Репутация: 5617
По умолчанию

Цитата:
Сообщение от 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
Репутация: 10
По умолчанию

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

Код:
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,475
Репутация: 1021
По умолчанию

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

но таких ситуаций же нету
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,475
Репутация: 1021
По умолчанию

Цитата:
Сообщение от 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
Репутация: 10
По умолчанию

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

Код:
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
Сообщений: 14,708
Репутация: 2631
По умолчанию

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

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
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


03:21.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.