public class ArrayReversal {
public static void main(String[] args) {
double[] numbers = readInputs(5);
printReversed(numbers);
}
public static double[] readInputs(int numberOfInputs) {
System.out.println("Enter " + numberOfInputs + "numbers: ");
Scanner in = new Scanner(System.in);
double[] inputs = new double[numberOfInputs];
for (int i = 0; i < inputs.length; i++) {
inputs[i] = in.nextDouble();
}
return inputs;
}
public static void printReversed(double[] values) {
for(int i = values.length - 1; i>= 0; i--) {
System.out.print(values[i] + " ");
}
}
//in.close();
}
У меня есть комментарий close(), потому что это давало мне синтаксическую ошибку, предполагающую, что ожидается идентификатор. Поэтому я не уверен, куда его поместить.Я получаю утечку ресурса: «in» никогда не закрывается.
Включить языковой тег. – LarsTech
Попробуйте переместить 'in.close()' в метод 'readInputs', где определяется' in'. Поместите его непосредственно перед оператором 'return'. –
В этом конкретном случае (когда 'System.in' используется как входящий поток) вам это действительно не нужно. –