Write a Java program to accept a given number of item names

Write a Java program to accept a given number of item names and prices and then output them in the reverse order in which they were input. In addition, output the average price if one of the items is named Peas (not case sensitive) otherwise output: \"no average output\". (The first user input will be the number of items to process.)

Add a static method to the program that outputs \"Welcome to St. Joseph\'s College\" before the items and prices are output. The method main should invoke this method.

Solution

Please follow the code and comments for description :

CODE :

import java.util.Scanner;

public class userData { // class to run the code

    public static void message() { // static message to print the data to console
        System.out.println(\"\ Welcome to St. Joseph\'s College\"); // message to print
    }

    public static void main(String[] args) { // driver method

        Scanner sc = new Scanner(System.in); // scanner class to get the data from the user
        boolean findAvg = false; // local varaibles

        System.out.println(\"Please Enter the Total Number of Items to be Processed : \"); // prompt for the user to enter the data
        int count = sc.nextInt(); // get the count
        String itemName[] = new String[count]; // initialise the array
        double prices[] = new double[count]; // initialise the array

        for (int i = 0; i < count; i++) { // iterate over the count
            System.out.println(\"Please Enter the Item Name \" + (i + 1) + \" : \"); // message to the user
            sc.nextLine();
            String name = sc.nextLine(); // get the data

            itemName[i] = name; // save to array

            System.out.println(\"Please Enter the Price of the Item \" + (i + 1) + \" : \"); // message to user
            prices[i] = sc.nextDouble(); // get the data
        }

        message(); // print the message by calling the function

        for (int m = count - 1; m >= 0; m--) { // iterate to check for the condition
            if (itemName[m].equalsIgnoreCase(\"peas\")) {
                findAvg = true; // assign true if found
                break; // break the loop
            }
        }

        for (int m = count - 1; m >= 0; m--) { // iterate to print the data
            System.out.print(itemName[m]); // print the item name
            System.out.print(\" \" + prices[m]); // print the price
            System.out.println(\"\"); // new line character
        }

        if (findAvg == true) { // check for the flag value
            double sum = 0, avg = 0; // local variables
            for (double j : prices) { // iterate to read the data
                sum = sum + j; // add to sum
            }
            avg = sum / count; // get the average
            System.out.println(\"The Average of the Prices is : \" + avg); // print to console
        }
    }
}


OUTPUT :

Case 1 :

Please Enter the Total Number of Items to be Processed :
5
Please Enter the Item Name 1 :
Orange
Please Enter the Price of the Item 1 :
45.3
Please Enter the Item Name 2 :
cloves
Please Enter the Price of the Item 2 :
64.1
Please Enter the Item Name 3 :
peas
Please Enter the Price of the Item 3 :
24.6
Please Enter the Item Name 4 :
apples
Please Enter the Price of the Item 4 :
46.7
Please Enter the Item Name 5 :
cucumber
Please Enter the Price of the Item 5 :
12.5

Welcome to St. Joseph\'s College
cucumber 12.5
apples 46.7
peas 24.6
cloves 64.1
Orange 45.3
The Average of the Prices is : 38.64

Case 2 :

Please Enter the Total Number of Items to be Processed :
2
Please Enter the Item Name 1 :
grapes
Please Enter the Price of the Item 1 :
12.5
Please Enter the Item Name 2 :
beetroot
Please Enter the Price of the Item 2 :
10.6

Welcome to St. Joseph\'s College
beetroot 10.6
grapes 12.5

Hope this is helpful.

Write a Java program to accept a given number of item names and prices and then output them in the reverse order in which they were input. In addition, output t
Write a Java program to accept a given number of item names and prices and then output them in the reverse order in which they were input. In addition, output t

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site