Итоги - управление потоком
Часть раздела Логика и управление потоком путешествия по Java на Coddy. Урок 39 из 59.
Задание
Создайте метод с именем processArray, который принимает два аргумента:
- Одномерный массив объектов (
data), содержащий значения разных типов (Integer, String или Double) - String (
type) для указания типа обработки: "sum" или "find"
Ваше решение должно продемонстрировать следующие концепции:
- Используйте защитные условия для проверки входных данных в начале метода
- Используйте сопоставление с образцом instanceof для проверки типов и приведения типов (например,
if (value instanceof Integer i)) - Используйте выражения switch со стрелочным синтаксисом (например,
switch (type) -> {) - Используйте именованные циклы с break или continue (например,
search: for())
Правила обработки:
- "sum": Сложите все числовые значения (игнорируйте строки)
- "find": Найдите первое числовое значение, большее 100
Возвращаемые сообщения должны быть следующими:
- Если массив равен null или пуст: верните "Invalid input"
- Если тип недействителен: верните "Invalid type"
- Для "sum": верните "Sum: X"
- Для "find": верните позицию этого значения в
dataили "Not found", если числовое значение больше 100 не найдено
Попробуйте сами
import java.util.Scanner;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;
public class Main {
public static String processArray(Object[] data, String type) {
// Напишите свой код здесь
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String dataJson = scanner.nextLine();
String type = scanner.nextLine();
Type arrayType = new TypeToken<Object[]>(){}.getType();
Object[] data = new Gson().fromJson(dataJson, arrayType);
System.out.println(processArray(data, type));
}
}Все уроки раздела Логика и управление потоком
1Многомерные массивы
Основы 2D-массивовДоступ к элементам 2D-массиваВложенные циклы с 2D-массивамиПовторение - 2D-массивыСложение и вычитание матрицРваные массивы3D-массивы и вышеРаспространённые паттерны 2D-массивовПовторение - всё о массивах2HashMap Часть 1
Что такое HashMap?Объявление HashMapДоступ к значениямПроверка существования ключаИзменение словарейИтоги - HashMap3HashMap. Часть 2
Методы HashMapИтерация с keySet()Итерация с entrySet()Вложенный HashMapПовторение - Управление складомПовторение - Операции HashMap6Продвинутое управление потоком
Операторы метокВыражение switchСопоставление шаблоновОхранные клаузыИтоги - управление потоком9Проект - Счетчик уникальных слов
Ввод и хранение текстаОбработка словПотренируйтесь самостоятельно: Онлайн-компилятор Java