当前位置: 首页 > 知识库问答 >
问题:

增加数组和长度

岳和泽
2023-03-14

我尝试过创建循环,比如减去用户想要购买的物品的数量,同时计算取值时的模数为0,减去用户购买的数量,但我离它还很远。

数组来自其他方法:

price[i]是商品的价格BuyItems[i]是用户购买的商品数量包[i]是用户对折扣的选择,例如,用户可以将折扣设置为2包、3包甚至无。

public static void checkOuts(String [] names, double [] price,double [] packs,double addDiscount[], double[] buyItems, double[]addDiscountrate, int k ){

    double orgSub=0;
    double newSub=0;
    double addPercent=0;
    double specDis =0;
    double freePack=0;
    double disCheck =0;
    double count=0;

    for (int i =0; i < k; i++ ) {
        orgSub+=price[i]*buyItems[i];
    }

    System.out.println("Original Subtotal:             $" + orgSub);

for (int i =0; i < k; i++ ) {
    orgSub+=price[i]*buyItems[i];
}

System.out.println("Original Subtotal:             $" + orgSub);

for (int j = 0; j < buyItems.length; j++) {
    disCheck = buyItems[j];

    for(int d =0; d < buyItems.length; d++) {
        freePack = packs[d];

        for (int s =1; s < disCheck; s++)
            if (s % freePack==0) {
                count++;
                disCheck = disCheck -1;
                System.out.println(disCheck);
            }

    }
    specDis+= count*price[j];
    // the final discount that will be subtracted from original
}

共有1个答案

高琛
2023-03-14

我版本的代码(我删除了从未解释过的内容):

public static void checkOuts(String[] names, double[] price, int[] packs, int[] buyItems) {

        System.out.println("Name\tnumFree\ttotalNum\tTotalPrice");
        for (int i = 0; i < names.length; i++) {
            int numFree = buyItems[i] / (packs[i] + 1);
            double totalPrice = (buyItems[i] - numFree) * price[i];
            System.out.println(names[i] + "\t" + numFree + "\t" + buyItems[i] + "\t\t" + totalPrice);
        }

    }

当使用以下代码调用时:

String[] names = {"Coke", "Pepsi"};
double[] price = {1, 1};
int[] packs = {3, 4};
int[] buyItems = {10, 20};

checkOuts(names, price, packs, buyItems);

您将得到以下输出:(这与您的评论一致)

Name    numFree totalNum TotalPrice
Coke    2       10       8.0
Pepsi   4       20       16.0
 类似资料:
  • 问题内容: 我有一个快速的问题。我在java中有一个整数数组,需要它的长度在整个类中变化。具体来说,在某些情况下,我需要将其增加一。我这样尝试过。 我会在需要时增加整数变量numberOfSBG,但我认为这不起作用。还有其他办法吗? 问题答案: 我建议您使用ArrayList,因为您不必担心长度。创建后,您将无法修改数组大小: 数组是一个包含固定数量的单一类型值的容器对象。创建数组时将确定数组的长

  • 问题内容: 我正在做一个项目,但是我不能使用任何现有的Java数据结构(即ArraysList,树等) 我只能使用数组。因此,我需要用新的内存动态更新数组。 我正在从一个文本文件中读取数据,并且为数组内存预分配了100: 现在,此功能适用于100个以下列表项。br.readline是经过缓冲的阅读器,它遍历文本文件的每一行。然后,我将每个单词存储到列表中,然后增加索引(wordCount)。 但是

  • 问题内容: 要求: 我需要从数据中任意增加一个数组。 我可以猜测大小(大约100-200),但不能保证每次都适合该数组 一旦增长到最终大小,我就需要对其进行数值计算,因此我更希望最终使用二维numpy数组。 速度至关重要。例如,对于300个文件之一,update()方法被称为4500万次(大约需要150秒),而finalize()方法被称为500k次(总共需要106s)……总共需要250s或者。

  • 问题内容: 在下面的示例中,只是,而在我看来应该是。 为什么“字符串键控”索引不增加数组的? 我可以存储东西并仍然可以访问它,而VS调试器显示这些数组已正确存储。那么为什么不增加呢? 问题答案: Javascript数组不能具有“字符串索引”。Javascript 仅在数字上进行索引。设置“字符串索引”时,就是在设置对象的属性。这些是等效的: 这些属性不是阵列“数据存储”的一部分。 如果要“关联数

  • 我有一个AWS DynamoDb表,它是写密集型的。我已经在预配容量模式下配置了WCU和RCU。 我正在使用AWS数据管道将DynamoDb内容导出到S3。管道配置为读取吞吐量比率。 在这个设置中导出150GB的数据需要大约2个小时。当我将RCU增加到时,导出在不到20分钟内完成。 在DataPipeline中是否有任何方法仅在管道运行时增加预配的RCU?由于此管道配置为每天仅运行一次。

  • 笔:https://codepen.io/anon/pen/zezppk(在Chrome中可视化) 想法:动画一个SVG笔画,使它以长度0(一个等于路径总长度的dashOffset)开头,所以没有呈现任何内容。然后,逐步减小Dashoff集,直到显示出整个SVG笔画。到目前为止,没有问题,这是一个相当普遍的效果,事实上。但我想额外加点:笔画的“起点”也必须逐渐抵消,才能达到笔下的效果。 具体要求是