java 在单独的方法中返回另一个方法的结果

xe55xuns  于 2022-11-27  发布在  Java
关注(0)|答案(2)|浏览(141)

我有一个方法(如下所示)可以很好地工作。这个方法的目的是确认一个特定的项目是否在商店里有货,返回值为true或false。
我有第二个方法,它返回一个描述,但是我看不出如何让这个方法通过第一个方法响应,“true”显示为“Yes”或“false”显示为“No”。我假设这与方法调用和字符串连接有关。
我的整个问题拉通过2个方法,但我想只是尝试和了解如何拉一个方法第一,然后我希望工作的其余部分!
方法一

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

方法二

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

ukqbszuj1#

第一个方法的返回类型为void,因此您没有返回任何内容,只是在新行中打印Yes或False。要将“True”或“False”与另一个String串联,您需要从isFree方法返回String
你可以试试这样的

public String isFree(){
  return sweet.isEmpty() ? "True" : "False";
}`

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

在第二种方法中,消息与False没有多大意义,但这取决于您是否调整它
您也可以直接返回布尔值

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

请记住,在这种情况下,它将旋转到“真”或“假”,而不是“真”/“假”
当然,如果“true”/“false”在您的情况下是可以的,您可以完全删除isFree方法,并直接在信息中使用sweet.isEmpty()

6ljaweal

6ljaweal2#

您可以通过以下几种方式实现此目的:
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.");
}

相关问题