Powtórzenie — przepływ sterowania
Część sekcji Logika i przepływ sterowania ścieżki Java w Coddy. Lekcja 39 z 59.
Wyzwanie
Utwórz metodę o nazwie processArray, która przyjmuje dwa argumenty:
- Jednowymiarowa tablica obiektów (
data) zawierająca różne typy (Integer, String lub Double) - String (
type) określający typ przetwarzania: "sum" lub "find"
Twoje rozwiązanie powinno demonstrować następujące zagadnienia:
- Użyj klauzul ochronnych, aby sprawdzić poprawność danych wejściowych na początku metody
- Użyj dopasowywania wzorców instanceof, aby sprawdzać i rzutować typy (np.
if (value instanceof Integer i)) - Użyj wyrażeń switch ze składnią strzałkową (np.
switch (type) -> {) - Użyj etykietowanych pętli z break lub continue (np.
search: for())
Zasady przetwarzania:
- "sum": Dodaj wszystkie wartości liczbowe (ignoruj ciągi znaków)
- "find": Znajdź pierwszą wartość liczbową większą niż 100
Zwracane komunikaty:
- Jeśli tablica ma wartość null lub jest pusta: zwróć "Invalid input"
- Jeśli typ jest nieprawidłowy: zwróć "Invalid type"
- Dla "sum": zwróć "Sum: X"
- Dla "find": zwróć pozycję tej wartości w
datalub "Not found", jeśli żadna wartość liczbowa nie jest większa niż 100
Spróbuj swoich sił
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) {
// Napisz tutaj swój kod
}
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));
}
}Wszystkie lekcje w sekcji Logika i przepływ sterowania
1Tablice wielowymiarowe
Podstawy tablic 2DDostęp do elementów tablic 2DPętle zagnieżdżone z tablicami 2DPodsumowanie — tablice 2DDodawanie i odejmowanie macierzyTablice postrzępioneTablice 3D i większeTypowe wzorce dla tablic 2DPodsumowanie — wszystko o tablicach2HashMap część 1
Czym jest HashMap?Deklarowanie HashMapDostęp do wartościSprawdzanie, czy klucz istniejeModyfikowanie słownikówPodsumowanie — HashMap3HashMap — część 2
Metody HashMapIterowanie za pomocą keySet()Iterowanie za pomocą entrySet()Zagnieżdżona HashMapPowtórka — zarządzanie magazynemPowtórka — operacje na HashMap6Zaawansowany przepływ sterowania
Instrukcje etykietująceWyrażenie switchDopasowywanie wzorcówKlauzule ochronnePowtórzenie — przepływ sterowania9Projekt — licznik unikalnych słów
Wprowadzanie i przechowywanie tekstuPrzetwarzanie słówPoćwicz samodzielnie: Kompilator Java online