Метод ANDROID CLUB 2015 Сегодня Метод Анатомия метода Android Lab: Конвертор Метод Кусок кода который выполняет определенную задачу Анатомия метода тип доступа статичность что возвращает название (параметры) { тело метода } Тип доступа: теория public – доступно из других классов private – доступно только внутри класса protected - public- пример public static void method2() { System.out.println("Метод2 вызвано"); } private: пример private static void method2() { System.out.println("Метод2 вызвано"); } protected: пример protected static void method3() { System.out.println("Метод3 вызван"); } static: пример protected static void method2() { System.out.println("Метод2 вызвано"); } Class2.method2(); Не статичный метод: пример protected void method4() { System.out.println("Метод4 вызвано"); } Class2 class2 = new Class2(); class2.method4(); Тип возвращаемого значение: пример public static double getPi() { double pi = 3.14; return pi; } System.out.println(getPi()); Тип возвращаемого значение: практика Создавайте метод: getG Метод возвращает double 9.8 В main методе, используя метод getG показывайте это значение Параметры: пример public static int square(int x) { int result = x*x; return result; } System.out.println(square(5)); Параметры: практика Создавайте метод сToF Параметр: int c Конвертация: (c*1.8)+32 В консоли спрашивайте пользователя ввести градуса цельсия и показывайте результат в фаренгейтах Пример: “10 градуса Цельсия равно 50.0 градуса фаренгейта” Android Lab: Конвертор Конвертировать разные величины: Длина Вес Время Вместимость Площадь Конвертор: шаг 1 Создавайте класс: Length Внутри класса Length создавайте метод convert Метод convert возвращает: double Принимает параметры: double value, String from, String to Конвертор: решение 1 public static double convert(double value, String from, String to) { return 0; } Конвертор: шаг 2 Внутри метода convert, dm - 0.1 создавайте HashMap – table m -1.0 Тип ключа table – String dam -10.0 Тип значение table – double hm -100.0 Добавьте следующие km -1000.0 значение к table: ft -0.3048 mm - 0.001 cm - 0.01 yd -0.9144 mi -1609.34 Конвертор: решение 2 HashMap<String, Double> table = new HashMap<>(); table.put("mm", 0.001); table.put("cm", 0.01); table.put("dm", 0.1); table.put("m", 1.0); table.put("dam", 10.0); table.put("hm", 100.0); table.put("km", 1000.0); table.put("ft", 0.3048); table.put("yd", 0.9144); table.put("mi", 1609.34); Конвертор: шаг 3 Создавайте double – from_value. Получите его значение с table с помощью ключа from Создавайте double – to_value. Получите его значение с table с помощью ключа to Пользуясь from_value, to_value конвертируйте значение value Возвращайте это значение Конвертор: решение 3 double from_value = table.get(from); double to_value = table.get(to); double ratio = from_value/to_value; double result = value*ratio; return result; Конвертор: шаг 4 Создавайте новый класс: Main Внутри класса Main, создавайте метод main Создавайте double – value Создавайте String – from Создавайте String – to Пользуясь метода convert, конвертируйте значение value В консоли показывайте результат таким образом: 12.0ft=3.6576000000000004m Конвертор: решение 4 public static void main(String[] args) { double value = 12; String from = "ft"; String to = "m"; double result = Length.convert(value, from, to); System.out.println(value+from+"="+result+to); } Конвертор: шаг 5 Сделайте метод convert не статичном Переместите HashMap table, внутри класса Length Создавайте метод конструктор класса Length Внутри конструктора заполните table значениями Внутри класса Main, создавайте объект класса Length, c помощью этого объекта вызывайте метод convert Конвертор: решение 5 HashMap<String, Double> table = new HashMap<>(); table.put("hm", 100.0); table.put("km", 1000.0); public Length() table.put("ft", 0.3048); { table.put("yd", 0.9144); table.put("mm", 0.001); table.put("cm", 0.01); table.put("dm", 0.1); table.put("m", 1.0); table.put("dam", 10.0); table.put("mi", 1609.34); } Конвертор: решение 5 Length length = new Length(); double result = length.convert(value, from, to); Конвертор: шаг 6 Показывайте в консоли все величины в table Спросите у пользователя вести значение value, from, to Конвертор: решение 6 System.out.println(length.table.keySet()); System.out.println("C какой велечины хотите конвертировать?"); String from = scanner.nextLine(); System.out.println(length.table.keySet()); System.out.println("На какую велечину хотите конвертировать?"); String to = scanner.nextLine(); System.out.println("Cколько "+from+" хотите конвертировать?"); double value = scanner.nextDouble(); Домашнее задание Создавайте конвекторы для: Длина Вес Время Вместимость Площадь Спасибо Спасибо за ваше внимание