Przypomnienie jak czytać z klawiatury w Java:
import java.util.Scanner; // Import
// .... w metodzie main()
Scanner myObj = new Scanner(System.in); // Stworzenie obiektu Scanner
System.out.println("Wprowadź imię");
String name = myObj.nextLine(); // Odczytaj z klawiatury
System.out.println("Twoje imie: " + userName); // Wypisz
[Ocena 2: Dopuszczający] - Operacje We/Wy i prosta instrukcja warunkowa
Wymagania programistyczne: Deklaracja zmiennych, pobieranie danych z konsoli, rzutowanie typów, instrukcja
if ... else, sformatowane wyświetlanie tekstu.
- Pobiera od użytkownika wysokość paczki w centymetrach (liczba zmiennoprzecinkowa).
- Sprawdza warunek gabarytu:
- Jeśli wysokość ≤8.0 cm → program wyświetla:
Wybrano Gabaryt A (Cena: 12.00 PLN). - W przeciwnym razie → program wyświetla:
Wybrano Gabaryt B (Cena: 16.00 PLN).
- Jeśli wysokość ≤8.0 cm → program wyświetla:
- Program działa bezbłędnie dla pojedynczego przebiegu.
[Ocena 3: Dostateczny] - Warunki złożone, walidacja i operatory logiczne
Wymagania programistyczne: Instrukcja wielowariantowa (
if - else if - else), operatory logiczne (&&/and,||/or), podstawowa walidacja wejścia.
Rozbuduj program z oceny 2:
- Program pobiera teraz dwie wartości: wysokość
h [cm]oraz wagęw [kg]. - Walidacja danych: Jeśli waga lub wysokość jest mniejsza lub równa zero, program wyświetla komunikat o błędzie:
Blad: Wymiary musza byc dodatnie!i kończy działanie. - Sprawdzenie limitu wagi: jeśli
w > 25.0 kg→ program wyświetla:Odrzucono: Paczka przekracza limit wagi (max 25 kg). - Jeśli waga jest poprawna, program kwalifikuje paczkę do 3 gabarytów:
h ≤ 8.0 cm→Gabaryt A - 12.00 PLN8.0 < h ≤ 19.0 cm→Gabaryt B - 16.00 PLN19.0 < h ≤ 41.0 cm→Gabaryt C - 20.00 PLNh > 41.0 cm→Odrzucono: Zbyt wysoka paczka (max 41 cm).
[Ocena 4: Dobry] - Pętla sterująca, sumator, licznik i wartownik
Wymagania programistyczne: Pętla (
whilelubdo-while), zmienne akumulujące (suma), liczniki (inkrementacja), kontrolowane przerywanie pętli (breaklub warunek pętli).
Zmiana logiki: Program ma teraz symulować załadunek wielu paczek przez kuriera do skrytki zbiorczej:
- Skrytka ma maksymalną ładowność
M = 100.0 kg. - Program działa w pętli: prosi kuriera o podanie wagi kolejnej paczki.
- Wprowadzenie wagi
0(wartownik) oznacza zakończenie załadunku przez kuriera. - Przed dodaniem paczki program sprawdza, czy jej waga nie spowoduje przekroczenia limitu 100 kg:
- Jeśli paczka się mieści: dolicza jej wagę do sumy, zwiększa licznik przyjętych paczek o 1 i wyświetla aktualny stan:
Przyjeto paczke. Laczna waga: X kg / 100 kg. - Jeśli paczka spowodowałaby przekroczenie limitu: wyświetla komunikat
Odrzucono: Przekroczono limit nosnosci!i nie dolicza jej.
- Jeśli paczka się mieści: dolicza jej wagę do sumy, zwiększa licznik przyjętych paczek o 1 i wyświetla aktualny stan:
- Po przerwaniu pętli program wyświetla podsumowanie:
- Liczbę przyjętych paczek.
- Łączną wagę przyjętych paczek.
- Pozostałe wolne miejsce w kilogramach.
[Ocena 5: Bardzo dobry] - Modularyzacja (funkcje), tablice/listy i analityka danych
Wymagania programistyczne: Wydzielenie logiki do własnych funkcji/metod z parametrami i zwracaniem wartości, dynamiczne kolekcje (tablice / listy / wektory), wyszukiwanie wartości skrajnych (min/max), zabezpieczenie przed dzieleniem przez zero.
Przebuduj architekturę kodu:
- Modularyzacja:
- Stwórz funkcję sprawdzającą, czy paczkę można dodać:
bool czy_zemiesci(float aktualna_waga, float nowa_paczka, float max_limit). - Stwórz funkcję generującą raport końcowy.
- Stwórz funkcję sprawdzającą, czy paczkę można dodać:
- Kolekcje danych: Wszystkie zaakceptowane wagi paczek muszą być zapisywane do listy.
- Odporność na błędy (Walidacja ujemna): Wpisanie wagi ujemnej nie może wyłączać programu ani dodawać paczki - program ma wyświetlić ostrzeżenie i kontynuować pętlę (
continue). - Raport statystyczny: Na koniec załadunku program samodzielnie (za pomocą pętli przeszukującej tablicę, a nie gotowych funkcji bibliotecznych):
- Wyznacza wagę najcięższej przyjętej paczki.
- Wyznacza wagę najlżejszej przyjętej paczki.
- Oblicza średnią wagę paczki (uwzględniając zabezpieczenie: co jeśli załadowano 0 paczek?).