Write a Java program to accept a given number of item names and prices and then output
Question:
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 suer input will be the number of items to process)
Here is the code:
package ItemPrice.java;
import java.util.Scanner;
public class ItemPrice
{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n;
System.out.println("Enter number of items to process");
n = sc.nextInt();
String itemNames[] = new String[n];
double itemPrice[] = new double[n];
for(int i=0;i<n;i++) {
System.out.println("----Enter Item "+(i+1)+" details----");
System.out.print("Enter Item Name:");
itemNames[i] = sc.next();
System.out.print("Enter Item Price:");
itemPrice[i] = sc.nextDouble();
}
System.out.println("Item details in reverse order:");
System.out.println("Item Name \t Item Price");
for(int i=n-1;i>=0;i--) {
System.out.println(itemNames[i]+"\t\t"+itemPrice[i]);
}
//Computing average for item names with Peas
int totalItemsWithNamePeas=0;
double averagePriceForPeas;
double sum =0;
for(int i=0;i<n;i++) {
if(itemNames[i].equalsIgnoreCase("Peas"))
{
sum = sum + itemPrice[i];
totalItemsWithNamePeas++;
}
}
averagePriceForPeas = sum/totalItemsWithNamePeas;
if(totalItemsWithNamePeas==0) {
System.out.println("no average output");
} else {
System.out.println("Average price for Peas :"+averagePriceForPeas);
}
}
}
Data Structures and Algorithms in Java
ISBN: 978-1118771334
6th edition
Authors: Michael T. Goodrich, Roberto Tamassia, Michael H. Goldwasser