Функция линейного поиска

public static int index(int a1[], int search) {
		int index=-1;
		for(int i=0; i<a1.length;i++) {
			if(a1[i]==search) {
				index=i;
			}
		}
		if(index!=-1) {
			return index+1;
		}
		else {
			return index;
		}
	}

А нужно вернуть первый встретившийся индекс или последний?

А почему вы возвращаете не тот индекс на котором стоит элемент, а на 1 больше??

Ну, потому что счёт в массивах идёт с нуля, а в реальной жизни с первого)

Но так поиск вы производите все таки в массиве, а не в реальной жизни.