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

如何实现仅输入风味字符串即可添加PackOfCrisps实例?

解决方案:仅输入风味字符串添加薯片包

1. 新增重载的addPack方法

无需修改原有方法,新增一个接收字符串参数的重载方法,在内部完成PackOfCrisps的实例化。这种方式既兼容原有调用逻辑,又能满足直接输入风味字符串的需求:

// 新增接收风味字符串的重载方法
public void addPack(String flavor) {
    if (packets.size() < capacity) {
        // 内部自动实例化薯片包对象
        PackOfCrisps newPack = new PackOfCrisps(flavor);
        packets.add(newPack);
    } else {
        System.out.println("capacity reached");
    }
}

2. 可选:添加输入有效性校验

为避免空字符串或无效输入,可以在方法内增加校验逻辑:

public void addPack(String flavor) {
    // 校验风味字符串是否有效
    if (flavor == null || flavor.trim().isEmpty()) {
        System.out.println("风味不能为空,请输入有效内容");
        return;
    }
    
    if (packets.size() < capacity) {
        PackOfCrisps newPack = new PackOfCrisps(flavor);
        packets.add(newPack);
    } else {
        System.out.println("capacity reached");
    }
}

3. 修改操作界面逻辑

将原来要求用户输入完整new PackOfCrisps("onion")语句的交互逻辑,改为直接接收用户输入的风味字符串(比如onion),然后调用上述新的addPack(String flavor)方法即可。

4. 关于原有方法的取舍

如果不需要保留原有接收PackOfCrisps对象的方法,也可以直接修改原有方法的参数类型为String,但这种方式会导致之前调用addPack(PackOfCrisps)的代码全部报错,不推荐。优先使用重载方式保证兼容性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 14:15:38