Я нахожусь в настоящее время в классе Java AP Computer Science и мы, необходимые для завершения работы, которая может сделать следующее:Имеющий в массив списков и ToString метод
Класс TransactionHistory используется для отслеживания последовательность транзакций. Выполните следующее определение для этого класса, предоставив тело метода toString, который возвращает многострочную строку, состоящую из вывода метода toString каждой транзакции, каждый из которых находится на новой строке. (Напомним, что строка может быть разбита на несколько строк, включая «\ n».) Будьте осторожны, чтобы убедиться, что ваш метод toString не возвращает строку, которая заканчивается символом новой строки. Чтобы помочь вам в этом, мы предоставляем (за кулисами) метод showNewlines для использования при тестировании метода toString. Изучите код, вставленный в прилагаемые тестовые примеры, чтобы узнать, как он может быть использован.
До сих пор, у меня есть следующий код:
public class TransactionHistory extends ArrayList<Transaction>
{
public String toString()
{
for (Transaction t : this) {
return t.toString();
}
return "";
}
}
И это один из тестов, которые мы обязаны использовать:
public static void main(String[] args)
{
TransactionHistory th = new TransactionHistory();
th.add(new Deposit(100.0, "10:15", "10/23/2007"));
th.add(new Deposit(2.35, "11:05", "9/21/2007"));
th.add(new Withdrawal(50.0, "2:24", "11/1/2007"));
System.out.println(showNewlines(th.toString()));
}
С кодом, который я имею в настоящее время , все, что он может сделать, это распечатать первую строку транзакций.
Вот что печатается:
Deposit 100.0 10:15 10/23/2007
Как бы идти о том, чтобы код распечатать все транзакции, которые были добавлены?
Спасибо, вся помощь приветствуется.
Посмотрите на цикл for. Предположим, что у вас есть 3 транзакции, сколько раз будет выполняться тело цикла? – slashburn
Не должен ли он зацикливаться 3 раза? – TaboriteTurtle
Он должен. Но что происходит на первой итерации? Вы все еще в методе? – slashburn