Missing Return Statement

0

Po stworzeniu takiego kodu kompilator wyrzuca Missing Return Statement

package zadania;

public class zadanie3 {
    public static void main(String[] args) {
        int[] tab = new int[5];
        int[] tab2 = new int[5];
        for (int i = 0; i < tab.length; i++) {
            tab[i] = (int) (Math.random() * 10);
            tab2[i] = (int) (Math.random() * 10);
        }
    arr(tab,tab2,-1);
    }

    static int[] arr(int[] a, int[] b, int c) {
        if (c < 0){
            int[] tab3 = new int[5];
            System.out.println("int jest mniejszy");
            for (int i = 0; i < a.length; i++) {
                tab3[i] = a[i] + b[i];
            }
            return tab3; 
            }
    }
}

co mam na to poradzić?

1

Odpowiedz sobie na pytanie co zwróci metoda arr w przypadki gdy c>=0.

1

Kompilator widzi, że jeśli przekazany do funkcji parametr, c będzie większy lub równyzero, to brakuje returnu. W obeznej postaci Wysyłasz tam -1, więc to c nie jest potrzebne. Zmień design tak, żeby coś też było zwracane w przypadku dodatniej wartości c, albo go Wyrzuć, razem z tym ifem.

1 użytkowników online, w tym zalogowanych: 0, gości: 1