返回另一个方法中另一个方法的结果



我有一个工作良好的方法(如下所示)。此方法的目的是确认商店中是否有特定的商品,返回值为true或false。

我有第二个方法,它返回一个描述,但我看不出如何让这个方法通过第一个方法响应与"真"显示为"是"或"假"显示为"否"。我认为这与方法调用和字符串连接有关。

我的整体问题通过2个方法,但我想只是尝试和理解如何拉一个方法,然后我希望能解决剩下的!

方法1

public void isFree()
{
if (sweet.isEmpty()){
System.out.println("True");
}
else {
System.out.println("False");
}
}`

方法2

public void information()
{
System.out.println (isFree+ " this item is available for purchase.");
}

第一个方法的返回类型是void,所以你不返回任何东西,你只是在新行中打印Yes或False。连接"true";或";False"你需要从isFree方法返回String

你可以试试这样做

public String isFree(){
return sweet.isEmpty() ? "True" : "False";
}`
public void information(){
System.out.println (isFree() + " this item is available for purchase.");
}

在第二个方法中,message设置为False没有多大意义,但这取决于你来调整它

也可以直接返回布尔值

public boolean isFree() {
return sweet.isEmpty();
}

请记住,在这种情况下,它将旋转为"true"或";false"而不是"True"/"False">

当然如果"真"/"假"你可以完全删除isFree方法,直接在information

中使用sweet.isEmpty()

是否有使用两个方法的特定原因,而不是集合中的isEmpty将为您返回布尔值(true, false),您可以直接使用第二个方法完全删除第一个方法。

public void information() {
String customText=", this item is available for purchase.";
System.out.println (sweet.isEmpty() ? "YES"+customText : "NO"+customText);}

您可以通过以下几种方式实现:

  1. 首先从information调用isFree,然后打印第二个字符串。为此,您必须编辑这两种方法,因为您使用的是println
public void isFree() {
sweet.isEmpty() ? System.out.printf("True") : System.out.printf("False");
}
public void information() {
isFree();
System.out.printf(" this item is available for purchase.n");
}
  1. isFree返回一个String
public String isFree() {
sweet.isEmpty() ? "True" : "False";
}
public void information() {
System.out.println(isFree() + " this item is available for purchase.");
}

最新更新