Reputation: 23
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
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
Reputation: 2225
In Java 8
public void printMeals() {
this.meals.stream().forEach(System.out::println);
}
Upvotes: 0
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