Home > Net >  Java Inventory Program, How Do I Recall The Objects That are Created?
Java Inventory Program, How Do I Recall The Objects That are Created?

Time:03-27

I am stuck on this. I have user input for some information on some products, and I make an if else if statement to declare which type of product it is after the user has inputted. Only issue is that I want to recall the object that is created. It will either be created as drill, wrench, or shovel. But how do I store this information so I can recall it, e.g I want to output the items price, id, type, etc?

 System.out.println("Welcome to our hardware shop. We have three items in stock: \n"   "Wrench CMMT12001\n"
              "Power Drill 12v\n"
              "Shovel D-Handle\n"
              "Which product would you like to buy?");
    
    product = keyboard.nextLine();
    
    System.out.println("How many items of this product would you like?");
    
    items = keyboard.nextInt(); 
    
    System.out.println("What is the date (00/00/0000) ");
    
    date = keyboard.nextLine();
    
    int dayOfYear = dayOfYear(date);
    
    
    if (product.equals("Wrench CMMT12001")) {
        Products wrench = new Products(productXID, product, productXPrice, "X", items, dayOfYear);
        
    }
    
    else if (product.equals("Power Drill 12v")) {
        Products drill = new Products(productYID, product, productYPrice, "Y", items, dayOfYear);
    }
    
    else if (product.equals("Shovel D-Handle")) {
        Products shovel = new Products(productZID, product, productZPrice, "Z", items, dayOfYear);
    }
    
    else 
        System.out.println("You did not enter a product.");

CodePudding user response:

Save the product outside of the IF query:

System.out.println("Welcome to our hardware shop. We have three items in stock: \n"   "Wrench CMMT12001\n"
              "Power Drill 12v\n"
              "Shovel D-Handle\n"
              "Which product would you like to buy?");
    
    product = keyboard.nextLine();
    
    System.out.println("How many items of this product would you like?");
    
    items = keyboard.nextInt(); 
    
    System.out.println("What is the date (00/00/0000) ");
    
    date = keyboard.nextLine();
    
    int dayOfYear = dayOfYear(date);
    
    Products selected;
    
    if (product.equals("Wrench CMMT12001")) {
        selected = new Products(productXID, product, productXPrice, "X", items, dayOfYear);
        
    }
    
    else if (product.equals("Power Drill 12v")) {
        selected = new Products(productYID, product, productYPrice, "Y", items, dayOfYear);
    }
    
    else if (product.equals("Shovel D-Handle")) {
        selected = new Products(productZID, product, productZPrice, "Z", items, dayOfYear);
    }
    
    else 
        System.out.println("You did not enter a product.");
        
    }

CodePudding user response:

You should declare your Products var before that waterfall of if-else statements, like so (assuming that Products has a getPrice method to return its price):

Products p = null;
if (product.equals("Wrench CMMT12001")) {
    p = new Products(productXID, product, productXPrice, "X", items, dayOfYear);
} else if (product.equals("Power Drill 12v")) {
    p = new Products(productYID, product, productYPrice, "Y", items, dayOfYear);
} else if (product.equals("Shovel D-Handle")) {
    p = new Products(productZID, product, productZPrice, "Z", items, dayOfYear);
} else {
    System.out.println("You did not enter a product.");
}
if (p != null) {
    System.out.printf("The item you've picked costs: %f", p.getPrice());
}
  • Related