gpt4 book ai didi

java - 使用 System.out.printf 时出错

转载 作者:行者123 更新时间:2023-12-02 06:32:23 26 4
gpt4 key购买 nike

我收到此错误:“此方法必须返回字符串类型的结果”。另外,我还没有找到太多关于 .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]);
}
}
}

最佳答案

public String toString() // returns a String

此方法的return类型是String,但您根本没有return语句。您需要有一个 return 语句,该语句从此方法返回一个字符串。使用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() 名称时,它会覆盖 Object 类的 >toString() 方法,其返回类型为 String。您可以重命名该方法并使其void,或者如果您希望保留相同的名称(并覆盖Object.toString()),那么您需要当然有返回声明。

public void printArray() // Something like this

是的,无论返回类型是 void 还是 String,您始终可以按照您所做的方式打印数组。只是,如果它是 String 返回类型,则您必须返回 String 以及在该方法中执行的打印。

关于java - 使用 System.out.printf 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19948297/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com