public static int getLengthBeforeZero(double... array) {
if (array.length == 0)
throw new IllegalArgumentException("Последовательность нулевой длины!");
int count = 0;
for (double value : array) {
if (value != 0.0) {
count++;
} else break;
}
return count;
}
Это принимая во внимание тот факт, что ноль в последовательности может быть только один:)
public static int getLength(double...mas)
{
for(int i=0;i<mas.length;i++)
{
if (mas[i]==0)
return i+1;
}
throw new InvalidArgumentException(«array not contains needed data»);
}
Последовательность действительных чисел оканчивается нулем.
В моем понимании это выглядит так
{3.14, 2.59, 17.6, 0.0};
Нигде не сказано ни про то, что последовательность не может иметь больше чем один 0, так же в условии не указанно что в последовательности необходимо посчитать количество элементов до первого элемента со значением 0 или 0.0, хотя я могу и ошибаться =)
Это принимая во внимание тот факт, что ноль в последовательности может быть только один:)
а
Ну и эксепшн
Следовательно вернем 4. Как думаешь?
Про Invalid-а почитать надо, чем они отличаются от Illegal-а?
InvalidArgumentException
IllegalArgumentException
Нигде не сказано ни про то, что последовательность не может иметь больше чем один 0, так же в условии не указанно что в последовательности необходимо посчитать количество элементов до первого элемента со значением 0 или 0.0, хотя я могу и ошибаться =)
программа была бы тогда такая
Но для такой последовательности она так же сработает, а не должна.