2017-07-28 1 views
0

Im Wesentlichen muss ich den Wert von der Methode getOriginalPrice in einem Modul verwenden.Wert in Accessormethode gespeichert in einer for-Schleife verwendet?

Wenn ich einfach item.getOriginalPrice * .1 setze, kompiliert mein Code noch.

Nicht sicher, was los ist mit diesem.

Hier ist mein Code (nicht den ursprünglichen Klassencode einfügen, wenn nicht erforderlich).

import java.util.Scanner; 

class InventoryApp { 

    public static void main(String[] args) { 

    String invNum = " "; 
    double ogPrice = 1; 
    int finishItems; 

    Inventory saleItem; 
    saleItem = new Inventory(); 

    Scanner keyb = new Scanner(System.in); 

    System.out.println("Input the item numbers and original price for each item"); 

    System.out.println("and I will show you the discounted price of each item"); 

    System.out.println("for each day of the sale this week."); 

    System.out.println("Enter stop at the first prompt to end your list."); 


    System.out.println("Enter the item number of the item (Ex. 2b)"); 
    invNum = keyb.next(); 
    saleItem.setItemNumber(invNum); 
    while (!invNum.equals("stop")) { 

    System.out.println("Enter the item's original price (Ex 23.50"); 
    ogPrice = keyb.nextDouble(); 
    saleItem.setOriginalPrice(ogPrice); 
    printSaleData(saleItem); 

    System.out.println("Enter the item's item number"); 
    invNum = keyb.next(); 
    saleItem.setItemNumber(invNum); 



    }//end While 




    }//end main 
    public static void printSaleData(Inventory item) { 

    System.out.println("Item Number: " + item.getItemNumber()); 

     for(int x = 1; x < 7; x = x + 1) { 
     item.getOriginalPrice() = item.getOriginalPrice - 
(item.getOriginalPrice * .1); 
     System.out.println("Day: " + x + "\t" + "Price: $" + item.getOriginalPrice()); 

     }//end for 
    } 
}//end Class 
+2

Was denken Sie 'item.getOriginalPrice() = ...' tut? –

+0

'item.getOriginalPrice()' ist ein Getter, Sie können keinen Wert wie diese setzen 'item.getOriginalPrice() = item.getOriginalPrice - (item.getOriginalPrice * .1);' –

+0

Nun, ich weiß, dass item.getOriginalPrice zieht der Wert, der meinem privaten Attribut (originalPrice) zugewiesen wurde, so dass ich irgendwie dachte, dass er anstelle einer Variablen einiger Art verwendet werden könnte? –

Antwort

0

Ihre printSaleDate-Methode ist kein gültiges Java. Aus Ihren geposteten Informationen ist nicht ersichtlich, was Ihre erwartete Ausgabe ist.

Aber streng genommen ist dies geposteten Methode einmal festgelegt:

for (int x=1; x<7; x++) { 
    double discountedPrice = item.getOriginalPrice() * 0.1; 
    System.out.println("Day: " + x + "\tPrice: $" + discountedPrice); 
} 
Verwandte Themen