You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何打印遍历LinkedList的void方法?调用House类twoBeds方法报错求解

你的两个问题我来帮你解决啦

问题一:如何打印一个遍历LinkedList的void方法的执行结果?

首先得明确:void类型的方法是没有返回值的,所以你没法直接用System.out.println()去“打印它的执行结果”——因为它根本没东西返回给println。

分两种情况处理就好:

  • 如果这个void方法内部已经包含了打印逻辑(比如遍历的时候逐个输出元素),那你直接调用这个方法就行,它自己会把内容打印到控制台。比如:
    public static void traverseLinkedList(LinkedList<String> list) {
        for (String item : list) {
            System.out.println(item);
        }
    }
    
    // 调用的时候直接写:
    traverseLinkedList(myList);
    
  • 如果你想把遍历的结果先收集起来,再统一打印,那你需要修改这个方法,让它返回一个能存储结果的类型(比如字符串、列表)。比如改成这样:
    public static String traverseAndReturn(LinkedList<String> list) {
        StringBuilder sb = new StringBuilder();
        for (String item : list) {
            sb.append(item).append("\n");
        }
        return sb.toString();
    }
    
    // 这时候就能用println打印返回值了:
    System.out.println(traverseAndReturn(myList));
    

问题二:House类中twoBeds方法的调用问题

先看你代码里的核心问题:twoBeds()是void类型的方法,它不返回任何值,所以System.out.println(twoBeds())肯定会报错——println需要接收一个参数,但void方法没东西给它。

解决方法1:直接调用方法(最简单)

你的twoBeds()方法内部已经在打印符合条件的房屋地址了,所以main方法里直接调用就行,不用包在println里:

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> twoBedAddresses = new ArrayList<>();
    for (ListIterator<House> it = agency.listIterator(); it.hasNext(); ) {
        House h = it.next();
        if (h.bedrooms == 2) {
            twoBedAddresses.add(h.address);
        }
    }
    return twoBedAddresses;
}

// 这时候main里就能用println打印返回的列表了:
public static void main(String[] args) {
    House h1 = new House(12, 2, "address");
    agency.add(h1);
    System.out.println(twoBeds());
}

这样修改后,不仅能打印结果,还能把这些地址用于其他逻辑,灵活性更高~

内容的提问来源于stack exchange,提问作者Cotchsloth

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 07:12:42