Write a program that asks the user for names. The given names are added to the list. However, if the name is already in the list, it is not added again, but an error message is printed to the user. When the user enters 'quit', the list of names is printed and the program is terminated. Example execution: Give a name: Jack Hello, Jack Give a name: Jill Hello, Jill Give a name: Jack Name has already been given Give a name: Ann Hello, Ann Give a name: Jill Name has already been given Give a name: quit Names: [Jack, Jill, Ann] import java.util.Random; import java.util.ArrayList; import java.util.Scanner; public class Test{ public static void main(String[] args){ final Random r = new Random(); Scanner reader= new Scanner(System.in); //marked as correct if placed outside ArrayList names = new ArrayList(); while (true) { // Scanner reader= new Scanner(System.in); // marked as incorrect if placed inside System.out.print("Give a name: "); String name = String.valueOf(reader.nextLine()); if (name.equals("quit")) { break; } if (names.contains(name)) { System.out.println("Name has already been given"); } else { names.add(name); System.out.println("Hello, " + name); } } System.out.println("Names: " + names); } } Give a name: Jack Hello, Jack Give a name: Jill Hello, Jill Give a name: Pete Hello, Pete Give a name: Kate Hello, Kate Give a name: Ann Hello, Ann Give a name: Pete Name has already been given Give a name: Jill Name has already been given Give a name: Larry Hello, Larry Give a name: Kate Name has already been given Give a name: Maya Hello, Maya Give a name: Maya Name has already been given Give a name: Ann Name has already been given Give a name: quit Names: [Jack, Jill, Pete, Kate, Ann, Larry, Maya]