2017-07-28 10 views
0

Essentiellement, j'ai besoin d'utiliser la valeur de la méthode getOriginalPrice dans un module.Valeur stockée dans la méthode d'accès utilisée dans une boucle for?

Lorsque je mets simplement item.getOriginalPrice * .1, mon code est toujours compilé.

Je ne sais pas ce qui se passe avec celui-ci.

Voici mon code (ne pas coller le code de classe d'origine sauf si nécessaire).

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

Que pensez-vous 'item.getOriginalPrice() = ...' fait? –

+0

'item.getOriginalPrice()' est un getter, vous ne pouvez pas définir de valeur comme ceci 'item.getOriginalPrice() = item.getOriginalPrice - (item.getOriginalPrice * .1);' –

+0

Eh bien, je sais que item.getOriginalPrice tire la valeur assignée à mon attribut privé (originalPrice) donc j'ai pensé qu'il pourrait être utilisé à la place d'une variable de certaines sortes? –

Répondre

0

Votre méthode printSaleDate n'est pas valide java. À partir de vos informations publiées, vous ne savez pas quelle est votre sortie attendue.

Mais strictement parlant ceci est votre méthode affiché une fois fixé:

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