public String toString() // returns a String
return
типа этого метода является String
, но у вас нет возврата заявления на всех. Вам нужно иметь оператор return, который возвращает String из этого метода. Нет проблем с использованием System.out.printf
.
public String toString()
{
System.out.println("Shown are the prices for " +
"each seat. A 0 indicates the seat is " +
"unavailable.");
for(int i = 0; i < 9; i++)
{
for(int j = 0; j < 10; j++)
{
System.out.printf("%8d", seatArray[i][j]);
}
}
return someString; // return statement is required as the method return type is String and not void
}
Обратите внимание, что вы не можете изменить тип возвращаемого значения void
, потому что, когда вы используете имя toString()
для метода, он перекрывая toString()
метод Object
класса, чей возвращаемый тип String
. Вы можете переименовать метод и сделать его void
, или если вы хотите сохранить одно и то же имя (и переопределить Object.toString()
), то вам обязательно нужно иметь оператор возврата.
public void printArray() // Something like this
И да, является ли тип возвращаемого значения void
или String
, вы всегда можете распечатать массив в моде вы сделали. Просто, если его тип возврата String
, вам нужно будет вернуть String
вместе с печатью, выполненной в методе.
ошибка говорит все. Return String –