在循环内添加数组元素

时间:2012-07-11 02:04:24

标签: java arrays

    //different types of items purchased
    System.out.print("How many different types of items are being purchased? " );
    ArraySize = input.nextInt();
    input.nextLine();

    //arrays - being defined after ArraySize
    String[] item = new String[ArraySize];              //each item             
    int[] itemsPurchased = new int[ArraySize];          //item purchased
    double[] price = new double[ArraySize];             //price for each 'line' on the receipt
    double[] itemPrice = new double[ArraySize];         //price of item purchased

    for (int i=0; i<ArraySize; i++){                    //i = variable element counter

    //name of item purchased
    System.out.print("Item purchased: ");
    item[i] = input.nextLine();

    //number of items purchased
    System.out.print("Quantity: ");
    itemsPurchased[i] = input.nextInt();
    input.nextLine();


    //determines price of item based on what was purchased
    if (item.equals("Shoes") || item.equals("shoes") || item.equals("SHOES"))
        itemPrice[i] = 50.00;

    if (item.equals("T-Shirt") || item.equals("t-shirt") || (item.equals("T-SHIRT")))
        itemPrice[i] = 40.00;

    if (item.equals("Shorts") || item.equals("shorts") || item.equals("SHORTS"))
        itemPrice[i] = 75.00;

    if (item.equals("Cap") || item.equals("cap") || item.equals("CAP"))
        itemPrice[i] = 20.00;

    if (item.equals("Jacket") || item.equals("jacket") || item.equals("JACKET"))
        itemPrice[i] = 100.00;

    //adds item and item amount
        price[i] += (itemsPurchased[i] * itemPrice[i]);

    }//end for

我正在尝试制作类似

的收据行

项目----------数量-----------成本

项目----------数量-----------成本

项目----------数量-----------成本

但是我坐起来支付费用的行(我链接的最后一行)在第一个元素之后没有保留任何东西。 我只链接了我认为相关的内容,如果需要,我可以提供其余的代码。

2 个答案:

答案 0 :(得分:1)

if (item.equals("Shoes") || item.equals("shoes") || item.equals("SHOES"))

item的类型为String[],永远不会等于String。您正在测试一个字符串数组是否等于单个字符串。这永远不会回归真实。您很可能希望使用item[i]而不是item

由于上述错误,永远不会为itemPrice[i]分配值。反过来price[i]将始终为0。

答案 1 :(得分:1)

你所有的行:     if(item.equals(“Shoes”)|| item.equals(“shoes”)|| item.equals(“SHOES”))

应该使用item [i]

所以例如:

if(item [i] .equalsIgnoreCase(“shoes”))