// MonsterAttack.java public class MonsterAttack { int id; int day, month, year; String nameOfMonster; String location; int numOfVictims; public MonsterAttack(int id, String date, String nameOfMonster, String location, int numOfVictims) { String arr[] = date.split(\"/\"); this.id = id; this.day = Integer.parseInt(arr[1]); this.month = Integer.parseInt(arr[0]); this.year = Integer.parseInt(arr[2]); this.nameOfMonster = nameOfMonster; this.location = location; this.numOfVictims = numOfVictims; } int getId() { return id; } void setId(int id) { this.id = id; } String getNameOfMonster() { return nameOfMonster; } void setNameOfMonster(String nameOfMonster) { this.nameOfMonster = nameOfMonster; } String getLocation() { return location; } void setLocation(String location) { this.location = location; } int getNumOfVictims() { return numOfVictims; } void setNumOfVictims(int numOfVictims) { this.numOfVictims = numOfVictims; } String getDate(){ return month + \"/\" + day + \"/\" + year; } void setDate(String date){ String arr[] = date.split(\"/\"); this.day = Integer.parseInt(arr[1]); this.month = Integer.parseInt(arr[0]); this.year = Integer.parseInt(arr[2]); } public String toString(){ return \"Attack # \" + id + \"occurred on \" + getDate() + \". \" + nameOfMonster + \"attacked \" + location + \", resulting in \" + numOfVictims + \" tragic fatalities.\"; } } // AttackMonitor.java import java.util.ArrayList; import javax.swing.JOptionPane; public class AttackMonitor{ ArrayList attacks = new ArrayList(); void input(){ String nameOfMonster, location, date; int id, numOfVictims; nameOfMonster = JOptionPane.showInputDialog(\"Enter the name of the monster\"); location = JOptionPane.showInputDialog(\"Enter the location of attack\"); date = JOptionPane.showInputDialog(\"Enter the date of attack\"); id = Integer.parseInt(JOptionPane.showInputDialog(\"Enter the id of attack\")); numOfVictims = Integer.parseInt(JOptionPane.showInputDialog(\"Enter the number of victims\")); MonsterAttack temp = new MonsterAttack(id, date, nameOfMonster, location, numOfVictims); attacks.add(temp); } void display(){ for(int i = 0; i < attacks.size(); i++){ System.out.println(attacks.get(i)); } } void delete(){ display(); int id = Integer.parseInt(JOptionPane.showInputDialog(\"Enter the id of attack to delete\")); int i; for(i = 0; i < attacks.size(); i++){ if(attacks.get(i).getId() == id){ break; } } if(i != attacks.size()) attacks.remove(i); } void monitor(){ int choice = Integer.parseInt(JOptionPane.showInputDialog(\"Enter 1 for adding new attack, 2 for displaying attacks, 3 for deleting an attack, any other number to exit\")); switch (choice) { case 1: input(); break; case 2: display(); break; case 3: delete(); break; default: return; } } } // MonsterAttackDriver.java Give sample input/output ot input file Solution // MonsterAttack.java public class MonsterAttack { int id; int day, month, year; String nameOfMonster; String location; int numOfVictims; public MonsterAttack(int id,.