0
    //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

次のようなレシート行を作成しようとしています

アイテム ---------- 数量 ----------- コスト

アイテム ---------- 数量 ----------- コスト

アイテム ---------- 数量 ----------- コスト

しかし、コストを保持するために立ち上がった行 (リンクした最後の行) は、最初の要素の後に何も保持していません。関連性があると思われるものだけをリンクしました。必要に応じて、残りのコードを提供できます。

4

2 に答える 2

1

if (item.equals("Shoes") || item.equals("shoes") || item.equals("SHOES")) を持つすべての行:

アイテム[i]を使用する必要があります

たとえば、次のようになります。

if (item[i].equalsIgnoreCase("靴"))

于 2012-07-11T02:18:54.567 に答える
1
if (item.equals("Shoes") || item.equals("shoes") || item.equals("SHOES"))

itemの型を持っているString[]ため、 a と等しくなることはありませんString。文字列の配列が個々の文字列と等しいかどうかをテストしています。これは true を返すことはありません。item[i]の代わりに使用したい可能性が最も高いですitem

上記のエラーのため、 に値が割り当てられることはありませんitemPrice[i]。そして、price[i]常に 0 になります。

于 2012-07-11T02:12:30.737 に答える