我正在创建一个监控房屋价格,地址和卧室数量的课程。我正在尝试为twoBeds
方法调用结果。很确定我的Sysout
完全错了,但我不知道从哪里开始。
public class House {
int price;
int bedrooms;
String address;
public House(int a, int b, String c) {
price = a;
bedrooms = b;
address = c;
}
static List<House> agency = new LinkedList<House>();
public static int noHouse() {
return agency.size();
}
public static void twoBeds() {
for (ListIterator<House> it = agency.listIterator(); it.hasNext(); ) {
House h = it.next();
if (h.bedrooms == 2) {
System.out.println(h.address);
}
}
}
public static void main(String[] args) {
House h1 = new House(12, 2, "address");
agency.add(h1);
System.out.println(twoBeds());
}
}
答案 0 :(得分:1)
System.out.println()
接受参数,void
返回类型表示没有任何内容可以返回。
您需要返回一些内容进行打印。
选项1:不要在System.out
中传递void函数:
public static void main(String[] args) {
House h1 = new House(12, 2, "address");
agency.add(h1);
twoBeds();
}
选项2:更改twoBeds()
的返回类型:
public static List<String> twoBeds() {
List<String> matchedAddresses = new ArrayList<>();
for (ListIterator<House> it = agency.listIterator(); it.hasNext(); ) {
House h = it.next();
if (h.bedrooms == 2) {
matchedAddresses.add(h.address);
}
}
return matchedAddresses;
}