将元素添加到对象数组中

2024-01-07

我有一堂课叫receipt其中一个属性是一个数组item[] items;我有一个方法addItem (string name , int quantity , double price)。我的问题是如何将这些参数添加到数组中items[]?那么如何检查数量是否大于0呢?
代码是什么?我的问题清楚吗?
她的是我的代码:

public boolean addItem(String name, int quantity,double price){
if(quantity <= 0){
    System.out.println("Item wasnt added");
    return false;}
    else{
        item [nItem++];//here is the problem
    }
    }

您首先需要做两件事,以确保您拥有一个项目。这[]只是为了取消引用(也就是说访问内存位置而不是对数组的引用)。您需要创建一个要添加的项目。您需要做的第二件事是确保有空间。不允许访问未由数组保留的内存。

public class Receipt {
    private int nItems;
    private Item[] items;

    Receipt() {
        nItems = 0;
        items = new Item[10]; // Set initial size
    }

    /**
        Set initial size of array
    */
    Receipt(int initSize) {
        if (initSize <= 0) {
            throw new IllegalArgumentException("initSize must be larger than 0");
        }
        nItems = 0;
        items = new Item[initSize]; // Set initial size
    }

    public void addItem(Item item) {
        reserve();
        items[nItems] = item;
        nItems++; // Bad experiences of incrementing while dereferencing
    }

    /**
        Make sure there is enough space in items to add an ingredient
    */
    private void reserve() {
        if (items.length == nItems) {
            Item [] tmp = new Item[nItems*2]; // Double size if array is full.
            for (int i=0; i<nItems; i++) { // Copy the old elements to new array
                tmp[i] = items[i];
            }
            items = tmp; // Replace the old array with the new array.
        }
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将元素添加到对象数组中 的相关文章

随机推荐

  • 从文件或 STDIN 读取

    我编写了一个命令行实用程序 它使用 getopt 来解析命令行上给出的参数 我还希望文件名成为可选参数 例如 grep cut 等其他实用程序中的文件名 因此 我希望它具有以下用法 tool d character f integer fi
  • Scala 多类型模式匹配

    我想知道如何使用多种类型模式匹配 我有 abstract class MyAbstract case class MyFirst extends MyAbstract case class MySecond extends MyAbstra
  • 从不在网络上的另一台计算机访问本地主机

    在你说它是骗局之前 这与this https stackoverflow com questions 9208472 connect to localhost from another computer in network this ht
  • 如何将 VC++ 静态库中的自定义二进制资源作为 dll 的一部分加载?

    我有自定义二进制资源 动画光标 希望将其作为资源存储在 Visual Studio C 的静态库中 事实证明 如果自定义二进制资源是自定义资源且位于静态库中 则它不会被 LoadCursor 加载 也不会被 FindResource 找到
  • Shim 与 Sham:有什么区别?

    垫片和假货有什么区别 包含 es5 shim min js 和 es6 shim min js 就足够了 还是还应该包含 es5 sham min js 和 es6 sham min js 根据这个 Github 页面 https gith
  • 如何从 OpenSSL 加密数据中获取初始化向量 (iv)

    免责声明 密码学新手 我有一个使用 OpenSSL 加密数据的外部进程 该进程现在使用盐 iPhone 应用程序从服务器获取该数据 将其下载到应用程序的文档目录 然后需要对其进行解密 iPhone OS 不包含 OpenSSL 库 您可以自
  • 如何使用 PHP 将一个 YouTube 视频上传到另一个 YouTube 频道

    我正在尝试实现用户可以将 Youtube 视频上传到他的 YouTube 频道的功能 从here http www phpgang com how to authenticate upload videos to youtube chann
  • NGRX/存储有效负载类型混淆

    我有以下行动 export const ActionTypes CREATE OH type ORDERHEAD Create Orderhead MODIFY SELECTED OH type ORDERHEAD Select Order
  • 使用干预将图像的 DPI 从 72 更改为 300

    我正在与laravel并使用in用于图像处理 我想增加图像的 DPI 我没有看到任何有关 DPI 的文档here http image intervention io 有什么解决办法吗php或任何其他方法php or laravel Int
  • 静态方法中的继承

    为什么下面的代码打印 Main public class Main public static void method System out println Main public static void main String args
  • 蛮力魔方

    基本上我有一个 3 x 3 网格 其中填充了两位数字 00 99 其中一些数字作为输入给出 其余数字未知 关于如何用 C 语言暴力解决此类问题 有哪些建议 EDIT 抱歉我忘记了部分问题 每行 每列和对角线的总和必须相同 我不需要任何代码
  • 在nodejs中运行mocha测试用例时出现内存不足异常

    对于单元测试我正在使用mocha最近我正在观察out of memory exception运行测试用例时 Last few GCs gt 548213 ms Scavenge 1365 3 1457 7 gt 1365 3 1457 7
  • React-google-chart 不占用选项

    我在用react google chart为了以图形形式 条形图 显示我的数据 根据要求我必须制作一个dual y axis chart 我已经制作了该图表 但问题是该图表没有占据options 它是一个Bar当我将图表作为ColumnCh
  • 如何在CRM插件中获取当前用户记录?

    我正在开发一个插件 每当调用插件时 我需要获取当前用户信息 有什么办法可以找回它吗 该信息可在 PluginExecutionContext 中找到 下面的代码来自您的插件必须实现的 Execute 方法 public void Execu
  • 如何在 Android 版 Chrome 中强制硬重新加载

    在桌面版 Chrome 中 我可以在开发工具中选择在打开开发工具时完全禁用缓存 并且可以选择在长按重新加载按钮时手动执行硬重新加载 在开发工具打开的情况下 Android 版 Chrome 有这样的技术吗 我没有找到任何设置 当我在开发时想
  • 为 Android 构建内核模块

    我需要将 FTDI USB 模块添加到 Android 内核 Android 2 3 1 Linux 2 6 32 因此我获得了 2 6 32 内核并尝试构建该模块 make modules ARCH arm CROSS COMPILE a
  • 将 PowerShell 变量传递到脚本块

    我正在尝试获取 PowerShell 变量并将它们应用到脚本块 param string username throw Blackberry Admin User Name is required string password throw
  • PostgreSQL 使用 tf-idf 吗?

    我想知道 PostgreSQL 9 3 中使用 GIN GiST 索引的全文搜索是否使用 tf idf 术语频率 逆文档频率 特别是 在我的短语列中 我有一些更受欢迎的单词 而有些则非常独特 即名称 我想对这些列建立索引 以便匹配的唯一单词
  • django.db.utils.InternalError:(1050,“表'django_content_type'已经存在”)

    django db utils InternalError 1050 表 django content type 已经存在 我刚刚从我的朋友那里复制了一个项目 当我运行 makemirations 时它运行正常 但对于 python3 ma
  • 将元素添加到对象数组中

    我有一堂课叫receipt其中一个属性是一个数组item items 我有一个方法addItem string name int quantity double price 我的问题是如何将这些参数添加到数组中items 那么如何检查数量是