Я пытаюсь написать наивный код поиска в Java для вопроса об оценке, но я не совсем уверен, как это сделать - PullRequest
1 голос
/ 06 ноября 2019

в основном заголовок, вопрос звучит так:

Напишите функцию с именем HW2E. Он принимает массив чисел студенческого идентификатора int (например, 14234, и второй аргумент int, findID. Функция должна искать в массиве указанный идентификатор и возвращать его местоположение в массиве. Таким образом, с аргументами {11,22,33,44,55,66,112} и 44, он должен вернуть 3. Если идентификатор поиска отсутствует в массиве, то вернуть -1. * /

public int HW2E( int array[]  ,  int studentId  )
{ 
    int correct = -2; 

    return correct ; 
}

Ответы [ 2 ]

3 голосов
/ 06 ноября 2019

Это должно сделать следующее:

public int HW2E( int array[]  ,  int studentId  ) {
    for (int i = 0; i < array.length; i++) {
        if (array[i] == studentId) return i;
    }
    return -1;
}

Вы действительно должны прочитать некоторые базовые сведения об основах и циклах Java, хотя

0 голосов
/ 06 ноября 2019

действительно самый простой способ сделать это - преобразовать массив в список, а затем использовать функцию indexOf():

public int HW2E( int[] array  ,  int studentId  )
{ 
    return Arrays.asList(array).indexOf(studentId);
}

Но, поскольку это для школы, это, вероятно, будет слишком просто,поэтому у меня есть другое решение: перебрать все элементы в списке, и для каждого элемента проверить, равно ли оно studentID:

public int HW2E( int[] array  ,  int studentId  )
{ 
    for(int i = 0; i < array.length; i++) {
        if(array[i] == studentId) return i;
    }
    return -1;
}

, и, как вы могли видеть в моих решениях, это неint array[], это int[] array

...