Given a text file containing the availability of food items, write a program that reads the information from the text file and outputs the available food items. The program first reads the name of the text file from the user. The program then reads the text file, stores the information into four separate arrays, and outputs the available food items in the following format: name (category) -- description Assume the text file contains the category, name, description, and availability of at least one food item, separated by a tab character. Ex: If the input of the program is: food.txt and the contents of food.txt are: Sandwiches Ham sandwich Classic ham sandwich Available Sandwiches Chicken salad sandwich Chicken salad sandwich Not available Sandwiches Cheeseburger Classic cheeseburger Not available Salads Caesar salad Chunks of romaine heart lettuce dressed with lemon juice Available Salads Asian salad Mixed greens with ginger dressing, sprinkled with sesame Not available Drinks Water 16oz bottled water Available Drinks Coca-Cola 16oz Coca-Cola Not available Mexican food Chicken tacos Grilled chicken breast in freshly made tortillas Not available Mexican food Beef tacos Ground beef in freshly made tortillas Available Vegetarian Avocado sandwich Sliced avocado with fruity spread Not available the output of the program is: Ham sandwich (Sandwiches) -- Classic ham sandwich Caesar salad (Salads) -- Chunks of romaine heart lettuce dressed with lemon juice Water (Drinks) -- 16oz bottled water Beef tacos (Mexican food) -- Ground beef in freshly made tortillas import java.util.Scanner; import java.io.File; import java.io.IOException; public class LabProgram {     public static void main(String[] args) throws IOException {         Scanner scnr = new Scanner(System.in);         // Prompt the user for the input file name         System.out.print("Enter the name of the text file: ");         String fileName = scnr.nextLine();         // Open the file         File file = new File(fileName);         Scanner fileScanner = new Scanner(file);         // Arrays to store category, name, description, and availability         String[] categories = new String[100]; // Adjust the size as needed         String[] names = new String[100];         String[] descriptions = new String[100];         String[] availability = new String[100];         int itemCount = 0; // Counter to keep track of the number of items         // Read the file and store information in arrays         while (fileScanner.hasNextLine()) {             String line = fileScanner.nextLine();             String[] parts = line.split("\\s{2,}"); // Split on 2 or more spaces             if (parts.length == 4) {                 categories[itemCount] = parts[0].trim();                 names[itemCount] = parts[1].trim();                 descriptions[itemCount] = parts[2].trim();                 availability[itemCount] = parts[3].trim();                 itemCount++;             }         }                  // Output available food items         boolean foundAvailable = false; // Flag to check if any available items were found         for (int i = 0; i < itemCount; i++) {             if (availability[i].equalsIgnoreCase("Available")) {                 System.out.println(names[i] + " (" + categories[i] + ") -- " + descriptions[i]);                 foundAvailable = true;             }         }         // Check if no available items were found         if (!foundAvailable) {             System.out.println("No available food items found.");         }         // Close the file and scanner         fileScanner.close();         scnr.close();     } }

C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter8: Arrays And Strings
Section: Chapter Questions
Problem 6PE
icon
Related questions
Question

Given a text file containing the availability of food items, write a program that reads the information from the text file and outputs the available food items. The program first reads the name of the text file from the user. The program then reads the text file, stores the information into four separate arrays, and outputs the available food items in the following format: name (category) -- description

Assume the text file contains the category, name, description, and availability of at least one food item, separated by a tab character.

Ex: If the input of the program is:

food.txt

and the contents of food.txt are:

Sandwiches Ham sandwich Classic ham sandwich Available Sandwiches Chicken salad sandwich Chicken salad sandwich Not available Sandwiches Cheeseburger Classic cheeseburger Not available Salads Caesar salad Chunks of romaine heart lettuce dressed with lemon juice Available Salads Asian salad Mixed greens with ginger dressing, sprinkled with sesame Not available Drinks Water 16oz bottled water Available Drinks Coca-Cola 16oz Coca-Cola Not available Mexican food Chicken tacos Grilled chicken breast in freshly made tortillas Not available Mexican food Beef tacos Ground beef in freshly made tortillas Available Vegetarian Avocado sandwich Sliced avocado with fruity spread Not available

the output of the program is:

Ham sandwich (Sandwiches) -- Classic ham sandwich Caesar salad (Salads) -- Chunks of romaine heart lettuce dressed with lemon juice Water (Drinks) -- 16oz bottled water Beef tacos (Mexican food) -- Ground beef in freshly made tortillas

import java.util.Scanner;
import java.io.File;
import java.io.IOException;

public class LabProgram {
    public static void main(String[] args) throws IOException {
        Scanner scnr = new Scanner(System.in);

        // Prompt the user for the input file name
        System.out.print("Enter the name of the text file: ");
        String fileName = scnr.nextLine();

        // Open the file
        File file = new File(fileName);
        Scanner fileScanner = new Scanner(file);

        // Arrays to store category, name, description, and availability
        String[] categories = new String[100]; // Adjust the size as needed
        String[] names = new String[100];
        String[] descriptions = new String[100];
        String[] availability = new String[100];

        int itemCount = 0; // Counter to keep track of the number of items

        // Read the file and store information in arrays
        while (fileScanner.hasNextLine()) {
            String line = fileScanner.nextLine();
            String[] parts = line.split("\\s{2,}"); // Split on 2 or more spaces

            if (parts.length == 4) {
                categories[itemCount] = parts[0].trim();
                names[itemCount] = parts[1].trim();
                descriptions[itemCount] = parts[2].trim();
                availability[itemCount] = parts[3].trim();
                itemCount++;
            }
        }
        

        // Output available food items
        boolean foundAvailable = false; // Flag to check if any available items were found
        for (int i = 0; i < itemCount; i++) {
            if (availability[i].equalsIgnoreCase("Available")) {
                System.out.println(names[i] + " (" + categories[i] + ") -- " + descriptions[i]);
                foundAvailable = true;
            }
        }

        // Check if no available items were found
        if (!foundAvailable) {
            System.out.println("No available food items found.");
        }

        // Close the file and scanner
        fileScanner.close();
        scnr.close();
    }
}

Input
Your output
Expected output
2:Compare output
Input
Your output
food.txt
Expected output
Enter the name of the text file: No available food items found.
Ham sandwich (Sandwiches)
Caesar salad (Salads)
Water (Drinks)
Beef tacos (Mexican food)
Output differs. See highlights below. Special character legend
food1.txt
--
--
--
16oz bottled water
Enter the name of the text file: No available food items found.
--
Classic ham sandwiche
Chunks of romaine heart lettuce dressed with le
--
Chunks of romaine heart lettuce dressed with le
--
Ham sandwich (Sandwiches) Classic ham sandwiche
Grilled cheese sandwich (Sandwiches) -- Grilled cheese sandwiche
Hamburger (Sandwiches) Classic hamburgere
Caesar salad (Salads)
Cajun salad (Salads) - Chopped kale with creamy Cajun dressinge
Water (Drinks) 16oz bottled water
Pepsi (Drinks) 16oz Pepsi
Sprite (Drinks) 16oz Sprite
Beef tacos (Mexican food)
Chips & salsa (Mexican food)
Veggie sub (Vegetarian) Big sub stuffed with seasonal vegetables
Ground beef in freshly made tortillase
Tortilla chips with freshly made salsa
--
Ground beef in freshly made tortillas
--
--
►
--
0/3
Transcribed Image Text:Input Your output Expected output 2:Compare output Input Your output food.txt Expected output Enter the name of the text file: No available food items found. Ham sandwich (Sandwiches) Caesar salad (Salads) Water (Drinks) Beef tacos (Mexican food) Output differs. See highlights below. Special character legend food1.txt -- -- -- 16oz bottled water Enter the name of the text file: No available food items found. -- Classic ham sandwiche Chunks of romaine heart lettuce dressed with le -- Chunks of romaine heart lettuce dressed with le -- Ham sandwich (Sandwiches) Classic ham sandwiche Grilled cheese sandwich (Sandwiches) -- Grilled cheese sandwiche Hamburger (Sandwiches) Classic hamburgere Caesar salad (Salads) Cajun salad (Salads) - Chopped kale with creamy Cajun dressinge Water (Drinks) 16oz bottled water Pepsi (Drinks) 16oz Pepsi Sprite (Drinks) 16oz Sprite Beef tacos (Mexican food) Chips & salsa (Mexican food) Veggie sub (Vegetarian) Big sub stuffed with seasonal vegetables Ground beef in freshly made tortillase Tortilla chips with freshly made salsa -- Ground beef in freshly made tortillas -- -- ► -- 0/3
File
food
Edit
Sandwiches
Sandwiches
Sandwiches
View
X
Salads Caesar salad
Salads Asian salad
Ham sandwich Classic ham sandwich Available
Chicken salad sandwich Chicken salad sandwich Not available
Classic cheeseburger Not available
Cheeseburger
Chunks of romaine heart lettuce dressed with lemon juice
Mixed greens with ginger dressing, sprinkled with sesame
Available
Drinks Water 16oz bottled water
Drinks Coca-Cola
Mexican food
Mexican food
Vegetarian
+
16oz Coca-Cola Not available
Chicken tacos
Beef tacos
Avocado sandwich
Grilled chicken breast in freshly made tortillas
Ground beef in freshly made tortillas
Available
Sliced avocado with fruity spread
Available
Not available
Not available
Not available
Transcribed Image Text:File food Edit Sandwiches Sandwiches Sandwiches View X Salads Caesar salad Salads Asian salad Ham sandwich Classic ham sandwich Available Chicken salad sandwich Chicken salad sandwich Not available Classic cheeseburger Not available Cheeseburger Chunks of romaine heart lettuce dressed with lemon juice Mixed greens with ginger dressing, sprinkled with sesame Available Drinks Water 16oz bottled water Drinks Coca-Cola Mexican food Mexican food Vegetarian + 16oz Coca-Cola Not available Chicken tacos Beef tacos Avocado sandwich Grilled chicken breast in freshly made tortillas Ground beef in freshly made tortillas Available Sliced avocado with fruity spread Available Not available Not available Not available
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 4 steps with 1 images

Blurred answer
Knowledge Booster
Array
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning
Programming Logic & Design Comprehensive
Programming Logic & Design Comprehensive
Computer Science
ISBN:
9781337669405
Author:
FARRELL
Publisher:
Cengage
EBK JAVA PROGRAMMING
EBK JAVA PROGRAMMING
Computer Science
ISBN:
9781337671385
Author:
FARRELL
Publisher:
CENGAGE LEARNING - CONSIGNMENT
C++ for Engineers and Scientists
C++ for Engineers and Scientists
Computer Science
ISBN:
9781133187844
Author:
Bronson, Gary J.
Publisher:
Course Technology Ptr