Jebbyo
Jebbyo

Reputation: 23

How to print an Array List on multiple lines?

I'm doing the MOOC java course, and I'm stuck on exercise 76. Whenever I submit the answer it tells me to print each meal to a seperate line. How would I go about doing this?

Main class

public class Main {
    public static void main(String[] args) {
        Menu exactum = new Menu();


        exactum.addMeal("Fish fingers with sour cream sauce");
        exactum.addMeal("Vegetable casserole with salad cheese");
        exactum.addMeal("Chicken and nacho salad");

        exactum.printMeals();


        exactum.clearMenu();
        exactum.printMeals();
    }
}

Menu class

import java.util.ArrayList;

public class Menu {

    private ArrayList<String> meals;

    public Menu() {
        this.meals = new ArrayList<String>();
    }

     public void addMeal(String meal) {
         if (!meals.contains(meal)) {
         meals.add(meal);      
     }
    }
      public void printMeals() {
          if (!meals.isEmpty())
          System.out.println(this.meals);
      }

      public void clearMenu(){
          meals.removeAll(meals);
      }

}

Output

[Fish fingers with sour cream sauce, Vegetable casserole with salad cheese, Chicken and nacho salad]

Upvotes: 2

Views: 4703

Answers (3)

Vikrant Kashyap
Vikrant Kashyap

Reputation: 6836

 import java.util.ArrayList;

public class Menu {

   private ArrayList<String> meals;

public Menu() {
    this.meals = new ArrayList<String>();
}

 public void addMeal(String meal) {
     if (!meals.contains(meal)) {
     meals.add(meal);      
 }
}
  public void printMeals() {
   if (meals.isEmpty()){
     System.out.println("No Meal Object Found !");
      return;
    }
for(String meal : meals) {
    System.out.println(meal);
    }
   }
  public void clearMenu(){
      meals.removeAll(meals);
  }
}

Upvotes: 0

Noor Nawaz
Noor Nawaz

Reputation: 2225

In Java 8

public void printMeals() {
    this.meals.stream().forEach(System.out::println);
}

Upvotes: 0

MartinS
MartinS

Reputation: 2790

Just iterate over the list and print each item seperately:

  public void printMeals() {
    for(String meal : meals) {
        System.out.println(meal);
    }
  }

Upvotes: 2

Related Questions