Dzień dobry.
Uczę się programowania od niedawna i próbuję zrobić zadanie o treści:
"Stwórz publiczną statyczną metodę o nazwie maksimumZTablicy. Metoda powinna przyjmować tablicę intów i zwracać wartość typu int - największą wartość w tablicy. Jeśli tablica jest pusta, metoda powinna zwrócić wartość -1. Zadanie rozwiąż z użyciem pętli for-each!"
Zadanie zrobiłem - metoda zwraca wartość maksymalną tablicy, Jednakże nie rozumiem jak metoda ma zwrócić -1 dla pustej tablicy - zawsze wtedy dostaje informację - Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 0 out of bounds for length 0 . To logiczne bo tablica jest pusta, jak jednak sprawić aby metoda pustą tablicę widziała jako wartość -1? Nie mogę tego zrozumieć. Mój kod:
package Tablice;
public class PętlaForEach {
public static int maksimumZTablicy (int [] dane) {
int max = dane [0];
for (int i : dane) {
if (i>max) {
max=i;
}
}
return max;
}
}
--------------------------------------------------------------------------------
package Tablice;
public class MaksimimZTablicy {
public static void main(String[] args) {
int [] dane = {23,43,54,12};
int max = PętlaForEach.maksimumZTablicy(dane);
System.out.println("Maksymalna wartość w tablicy: " + max);
}