Попытка написать функцию, возвращающую false в случае возникновения ошибки - PullRequest
0 голосов
/ 09 января 2020

Попытка написать публично c процедуру / функцию под названием F5, она должна принимать массив целых чисел, которые представляют собой цепочку ДНК.

Функция проверяет наличие ошибок и возвращает false, если они есть, и true (ОК), если нет.

Ошибка произойдет, если в массиве есть значение больше 4 или меньше 0. Например, массив {0,3,2,3,1} вернет true, а массив {0,2,4,4,2,1,3,5,4} вернет false.

Это обрабатывается java Кстати, требуется помощь и исправление

Код пока неверен:

public boolean F5( int numbers) 
{ 
   for( int i = 0 ; i < numbers ; i++ ) 
   {
       if(numbers[i] => 4) return false;  
   }
   return true; 
  }
}

Ответы [ 4 ]

1 голос
/ 09 января 2020

3 вопроса:

1) Вам нужно передать int [], а не int:

public boolean F5(int[] numbers)
                     ^^

2) Вместо проверки i < numbers вы хотите сделать i < numbers.length:

for( int i = 0 ; i < numbers.length ; i++ ) {
                            ^^^^^^^

3) Кажется, вы хотите проверить, является ли значение «меньше 0» или «больше 3»:

if(numbers[i] < 0 || numbers[i] > 3)return false;

Читать как «если число меньше i меньше чем 0 или число sub i больше 3, тогда верните false ".

0 голосов
/ 09 января 2020

Параметром функции должен быть массив (int[] numbers):

public boolean F5(int[] numbers) { 

    for (int i = 0 ; i < numbers.length; i++) {
        if (numbers[i] < 0 || numbers[i] >= 4)
            return false;  
    }
    return true; 
}
0 голосов
/ 09 января 2020

Вы также можете использовать java stream. Пример "allMatch":

    public static boolean F5(int[] numbers) {
        return Arrays.stream(numbers).allMatch(n -> n >= 0 && n <= 4);
    }

Пример "anyMatch":

    public static boolean F5(int[] numbers) {
        return !Arrays.stream(numbers).anyMatch(n -> n < 0 || n > 4);
    }
0 голосов
/ 09 января 2020

Вам следует изменить свой параметр функции F5 на int [].

public boolean F5(int[] numbers) {
    for (int currentNumber : numbers) {
        if (currentNumber < 0 || currentNumber >= 4) {
            return false;
        }
    }
    return true;
}
...