У меня есть код, который запускает короткую серию тестов, чтобы увидеть, является ли последний элемент в массиве ожидаемым числом. Код, который я должен ввести, находится там, где в данный момент находится [???].
//The answer must be the shortest possible
class EmptyArrayException extends RuntimeException{}
class ArrayUtil{
public static Object lastElement (Object[]array)[???]{
if(array.length>0)return array[array.length-1];
throw new EmptyArrayException();
}
}
public class Exercise{
public static void test(){
assert ArrayUtil.lastElement(new Integer[]{1,2,3}).equals(3);
assert ArrayUtil.lastElement(new Integer[]{1,2}).equals(2);
assert ArrayUtil.lastElement(new Integer[]{1}).equals(1);
assert ArrayUtil.lastElement(new Integer[]{}).equals(1);
assert false:"Code not reachable";
}
public static void main(String [] arg){
try{ test();}
catch(Throwable t){/*the test suit
logs t on the test results:
a single place for error logging.*/}
}
}
Я предполагаю, что напишу ' throws EmptyArrayException ', но это неправильно. ' throws EmptyArrayException()' тоже неверно.
Итак, что мне вставить в пространство [???]?
RuntimeException
, вам не нужно указывать его в предложенииthrows
. - person Dawood ibn Kareem   schedule 28.05.2014throws EmptyArrayException
[
]
? - person Pshemo   schedule 28.05.2014throws EmptyArrayException
- правильный синтаксис. Что вы имеете в виду, но это неправильно? Вы получаете ошибку компилятора? - person azurefrog   schedule 28.05.2014throws
. - person Elliott Frisch   schedule 28.05.2014