Java 如何打印遍历LinkedList的void方法

Java 如何打印遍历LinkedList的void方法,java,Java,我正在创建一个类,用于监视房子内的价格、地址和卧室数量。我正在尝试调用我的twobeeds方法的结果。我很确定我的Sysout是完全错误的,但我不知道从哪里开始 public class House { int price; int bedrooms; String address; public House(int a, int b, String c) { price = a; bedrooms = b; a

我正在创建一个类,用于监视房子内的价格、地址和卧室数量。我正在尝试调用我的
twobeeds
方法的结果。我很确定我的
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());
    }
}
公共类房屋{
国际价格;
室内卧室;
字符串地址;
酒店(a区、b区、c区){
价格=a;
卧室=b;
地址=c;
}
静态列表代理=新建LinkedList();
公共静态文件室(){
返回代理。大小();
}
公共休息室两张床(){
for(ListIterator it=agency.ListIterator();it.hasNext();){
House h=it.next();
如果(h.卧室==2){
系统输出打印LN(h地址);
}
}
}
公共静态void main(字符串[]args){
房屋h1=新房屋(12,2,“地址”);
加上(h1);
System.out.println(两张床());
}
}
System.out.println()
接受一个参数,
void
返回类型表示没有要返回的内容

你需要返回一些东西来打印它

选项1:不要在
系统中传递无效函数。输出

public static void main(String[] args) {
    House h1 = new House(12, 2, "address");
    agency.add(h1);
    twoBeds();
}
选项2:更改
twobeeds()的返回类型。

publicstaticlist两张床(){
List matchedAddresses=new ArrayList();
for(ListIterator it=agency.ListIterator();it.hasNext();){
House h=it.next();
如果(h.卧室==2){
匹配地址。添加(h地址);
}
}
返回匹配的地址;
}

remove调用
println
remove System.out.println out of twobeeds()调用main方法,因为您已经在twobeeds()方法中进行了打印。第二个示例假设库存中只有一栋房子有两间卧室。您可能希望将退货类型更改为列表,并在方法中过滤库存(作为流?)。调用函数决定如何打印返回的值,可能需要使用单独的过程来打印。@Timir makes sence,修复。实际上在操作代码中有很多东西需要重构,但我不确定他是否需要重构。也许最好还是坚持他已经采取的方法。
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;
}