прошу объяснить задачу. Куда сохраняются значения answer в "правильном решении" которые вводятся с клавиатуры? answer перезаписывается с каждым вводом, это же String?
пытался решить через массив в catch писал
catch {
ArrayList<String> list = new ArrayList<>();
while (!answer.toLowerCase().equals("ок")){
list .add(answer);
}
потом выводил массив через цикл на печать. естественно это не работало, ошибка переполнения памяти.
ниже код из правильного решения:
package com.javarush.task.pro.task14.task1406;
import java.util.Scanner;
class Solution {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
buyElephant(null, scanner);
}
static void buyElephant(String answer, Scanner scanner) {
if (answer == null) {
System.out.println("Купи слона");
} else if (answer.toLowerCase().equals("ок")) {
System.out.println("Так-то лучше :) Список твоих отговорок:");
throw new SecurityException();
} else {
System.out.println("Все говорят \"" + answer + "\", а ты купи слона");
}
answer = scanner.nextLine();
try {
buyElephant(answer, scanner);
} catch (Exception e) {
System.out.println(answer);
throw e;
}
}
}