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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.02.2012, 22:27   #1
V0R0N91
 
Регистрация: 23.02.2012
Сообщений: 4
По умолчанию Покритикуйте решение=)

Задача для первого класса, но я только учусь!!
условие:1.
Создайте новый класс и назовите его TemperatureConverter.
Добавьте в него метод для преобразования температур, с такой cигнатурой: public String convertTemp(int temperature, char convertTo)
Если аргумент convertTo равен F, то температура должна быть преобразована в Фаренгейты, если C, то в Цельсии.
когда вы будете вызывать этот метод, поместите значение аргумента
типа char в одинарные кавычки.
Код:
 package temperatureconverter;

public class TemperatureConverter {

    public String convertTemp(int temperature, char convertTo) {
        String temperatureKelvin;
        switch (convertTo) {
            case 'C':
            case 'c':
                temperature -= 273; // преобразование в градусы  Цельсия
                break; 
            case 'F':
            case 'f':
                temperature = ((int) (temperature * 1.8) - 459); // Преобразование в  градусы Фаренгейта
                break;
            default:
                System.out.println("Error");
        }
        temperatureKelvin = "Temperature is " + temperature;
        return temperatureKelvin;
    }

    public static void main(String[] args) {
        TemperatureConverter t = new TemperatureConverter();
        System.out.println("" + t.convertTemp(300, 'c'));



    }
}
покритикуйте !!!! Что так а что не так , я просто хочу с самого начала писать более менее грамотный код=)
P S Всем спасибо!
V0R0N91 вне форума Ответить с цитированием
Старый 23.02.2012, 22:40   #2
V0R0N91
 
Регистрация: 23.02.2012
Сообщений: 4
По умолчанию

Сори не тот
Код:
 package temperatureconverter;

public class TemperatureConverter {

    public String convertTemp(int temperature, char convertTo) {
        String temperatureKelvin;
        switch (convertTo) {
            case 'C':
            case 'c':
                temperature -= 273; // преобразование в градусы  Цельсия
                break; 
            case 'F':
            case 'f':
                temperature = ((int) (temperature * 1.8) - 459); // Преобразование в  градусы Фаренгейта
                break;
            default:
                System.out.println("Error");
        }
        temperatureKelvin = "Temperature is " + temperature;
        //return temperatureKelvin;
        System.out.println( temperatureKelvin);
        return temperatureKelvin;
    }

    public static void main(String[] args) {
        TemperatureConverter t = new TemperatureConverter();
         t.convertTemp(300, 'c');



    }
}
V0R0N91 вне форума Ответить с цитированием
Старый 29.02.2012, 15:06   #3
_Денис
Пользователь
 
Аватар для _Денис
 
Регистрация: 12.11.2009
Сообщений: 20
По умолчанию

Критикую:
1. Создай локальную переменную в методе convertTemp для хранения посчитанного значения температуры. Негоже когда функция изменяет значения своих параметров, если только это ею не предусмотрено ( лучше избегать вообще таких функций)

2. Возвращай посчитанное значение из метода, а выводи в методе Main
3. В случае со switch default можно генерировать Exception (заметка на будущее посмотреть что такое Исключения). А можно локальной переменной для обсчета температуры присвоить -1, а в методе Main проверить что было возвращено

4. Рекомендую книгу
Мартин Р. - Чистый код. Создание, анализ и рефакторинг (Библиотека программиста) - 2010

Просмотр глав про классы, функции, имена и комментарии для начала будет в самый раз. Что не поймешь - не беда, ты только учишься ))

Дерзай


И код потом сюды измененный выложи
Я бы изменил мир, но исходников нету
_Денис вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Покритикуйте сайт miscreant PHP 11 12.06.2011 12:16
Покритикуйте схему =) dFrem WordPress и другие CMS 0 18.01.2011 18:35
Покритикуйте код авторизации skeletor PHP 13 06.08.2010 02:45
Программа на С++. Покритикуйте код, будьте добры)) iehf Помощь студентам 9 30.03.2010 15:02