这里有点迷失,似乎没有任何工作。我已经阅读了有关返回方法的章节,但我无法让它工作。
基本上我必须创建一个接受 Park 参数的方法,我有一个名为 park 的类,它有用于布尔、野餐、游乐场、网球和游泳池的 setter 和 getter,如果 Park 有它们,它们基本上会被声明为 true 或 false。如果公园有野餐和游乐场设施,它还需要返回一个布尔值。
这是我到目前为止所拥有的:
公园班:
public class Park {
private String parkName;
private int parkAcres;
private boolean picnicFacilities;
private boolean tennisCourt;
private boolean playground;
private boolean swimmingPool;
public String getParkName() {
return parkName;
}
public void setParkName(String parkName) {
this.parkName = parkName;
}
public int getParkAcres() {
return parkAcres;
}
public void setParkAcres(int parkAcres) {
if (parkAcres < 0 || parkAcres > 400) {
System.out
.println("You have entered an invalid acre amount, it has been defaulted to 0");
parkAcres = 0;
}
this.parkAcres = parkAcres;
}
public boolean isPicnicFacilities() {
return picnicFacilities;
}
public void setPicnicFacilities(boolean picnicFacilities) {
this.picnicFacilities = picnicFacilities;
}
public boolean isTennisCourt() {
return tennisCourt;
}
public void setTennisCourt(boolean tennisCourt) {
this.tennisCourt = tennisCourt;
}
public boolean isPlayground() {
return playground;
}
public void setPlayground(boolean playground) {
this.playground = playground;
}
public boolean isSwimmingPool() {
return swimmingPool;
}
public void setSwimmingPool(boolean swimmingPool) {
this.swimmingPool = swimmingPool;
}
}
练习告诉我为所有这些创建 getter 和 setter,我什至还没有通过使用其中一个。
这是 ParkTest 类,它具有使用这些 getter 和 setter 的方法:
import java.util.Scanner;
public class TestParks {
static Park park1 = new Park();
static String parkName;
static int parkAcres;
static boolean facilityCheck;
public static void main(String[] args) {
parkInfo(park1);
request();
System.out.println("Test: " + facilityCheck);
}
public static void parkInfo(Park park) {
Scanner userInput = new Scanner(System.in);
System.out.println("Enter the park name");
parkName = userInput.next();
System.out.println("Enter the size in acres");
parkAcres = userInput.nextInt();
park.setParkName(parkName);
park.setParkAcres(parkAcres);
}
public static boolean request() {
Scanner userInput = new Scanner(System.in);
System.out.println("Do you want picnic facilities?");
if(userInput.nextInt() == 1){
park1.setPicnicFacilities(true);
return true;
}else{
return false;
}
}
}
我不太明白练习要我做什么,它要求我检查两个设施是否可用并返回值。我尝试过的一切,每次的价值都只是假的。这本书在一章中教过我这一点,但实际上,它只显示了 int/double 变量而不是布尔值的使用,不知道这是否有区别,无论哪种方式,我都完全不知道如何做返回方法......
通常我只会提示用户在公园里想要什么,然后使用 setter 将布尔值声明为 true,然后在 displayParkInfo() 方法中使用简单的 if 语句,使用 getter 将结果输出到控制台,看起来任务不希望我这样做。