Kochani stanąłem na jakby się wydawało prostym zadaniu. Napisz program, który odczytuje nieposortowaną tablicę liczb całkowitych i dwóch liczb n i m. Program musi sprawdzić, czy n i m występują obok siebie w tablicy (w dowolnej kolejności).
Pierwszy wiersz zawiera rozmiar tablicy.
Drugi wiersz zawiera elementy tablicy.
Trzeci wiersz zawiera dwie liczby całkowite ni m.
Wszystkie liczby w tym samym wierszu są oddzielone znakiem spacji.
Input 1:
3
1 3 2
2 3
Sample Output 1:
true
tutaj mój kod:
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int len = scanner.nextInt();
int[] tab = new int[len];
for (int i = 0; i < len; i++) {
tab[i] = scanner.nextInt();
}
boolean found = false;
int n = scanner.nextInt();
int m = scanner.nextInt();
for (int i : tab)
if (n == tab[i] && m == tab[i - 1]) {
found = true;
break;
}
if (found)
System.out.println(true);
else
System.out.println(false);
}
}
Po wpisaniu wszystkich danych wyskakuje poza indeks.
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 3 out of bounds for length 3
at Main.main(Main.java:19)