In: Computer Science
package compstore;
public class Desktop{ private String brand; private float price; public Desktop(String brand, float price) { this.brand = brand; this.price = price; } public String getBrand() { return brand; } public float getPrice() { return price; } }
package compstore; public class DeskTopDeals{
// assume proper variables and other methods are here public void dealOfTheDay(Desktop[] items, int numItems){ /**************************** * your code would go here * ****************************/ } }
Given the above Desktop class, write code that should go in the area marked * your code would go here * to complete the “dealOfTheDay(Desktop[] items, int numItems)” method. The output should be printed to the console (screen). There are numItems Desktops in the array Desktop[] items. These items are in locations 0 to numItems - 1 of the array.
Each desktop item should have its brand and price output on a single line. There will be marks for properly right justifying the price and outputting two decimals. As you are printing the Desktop objects, you should keep track of the Desktop object with the lowest price. At the end print the brand name followed by the price, a shipping surcharge of 15% and the total price. For example, if the Desktop array had 3 Desktops, a SkyTech for $300, a Dell for $400, and HP for $500, we would get the following output.
Current Deals:
SkyTech 300.00
Dell 400.00
HP 500.00
The deal of the day is SkyTech.
Price: $300.00 Shipping: $45.00 Total: $ 345.00
Program: In this program, we implement the method dealOfTheDay() method in which we display all current deals and then the deal of the day. We format the output using System.out.printf() method and print it on console. To run the method we created the main() method as well in DeskTopDeals class.
Below is the implementation:
Desktop.java:
Code:
package compstore; public class Desktop { // Instance variables private String brand; private float price; // Constructor public Desktop(String brand, float price) { this.brand = brand; this.price = price; } // Getters public String getBrand() { return brand; } public float getPrice() { return price; } }
DeskTopDeals.java:
Code:
package compstore; public class DeskTopDeals { // assume proper variables and other methods are here // Main method public static void main(String[] args) { // Create a variable to store array size int numItems = 3; // Create an array of Desktop type items Desktop[] items = new Desktop[numItems]; // Pass values to items - brand name and brand price items[0] = new Desktop("SkyTech", 300); items[1] = new Desktop("Dell", 400); items[2] = new Desktop("HP", 500); // Create an object of this class DeskTopDeals deskTopDeals = new DeskTopDeals(); // Call dealOfTheDay method, pass items and size deskTopDeals.dealOfTheDay(items,numItems); } public void dealOfTheDay(Desktop[] items, int numItems) { /**************************** * your code would go here * ****************************/ // Create a Desktop class object to store the deal of the day Desktop dealOfTheDay = new Desktop("", 0); // Create a min variable to compare prices of brands float min = Float.MAX_VALUE; System.out.println("Current Deals:"); // Traverse the items array for (int i = 0; i < numItems; i++) { // Display items System.out.printf("%s%10.2f\n",items[i].getBrand(),items[i].getPrice()); // Check if current price of item is less than min if (min > items[i].getPrice()) { min = items[i].getPrice(); dealOfTheDay = items[i]; } } // Calculate tax float tax = (dealOfTheDay.getPrice() * 15) / 100; // Calculate total price of the product by adding price of item with tax float total = dealOfTheDay.getPrice() + tax; // Print the answer to console System.out.println("The deal of the day is " + dealOfTheDay.getBrand()); System.out.printf("Prices: $%.2f Shipping: $%.2f Total: $%.2f\n", dealOfTheDay.getPrice(), tax, total); } }
Output:
#Please ask for any doubts. Thanks.