我有一个工作良好的方法(如下所示)。此方法的目的是确认商店中是否有特定的商品,返回值为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);}
您可以通过以下几种方式实现:
- 首先从
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");
}
- 让
isFree
返回一个String
public String isFree() {
sweet.isEmpty() ? "True" : "False";
}
public void information() {
System.out.println(isFree() + " this item is available for purchase.");
}