I'm having problems with my try-catch exception here. Actually what it does is to prompt the user for the name of a text file say, Robot.txt but if say the file does not exist, I have to make sure that the application reprompts the user for the file name. Hope you guys can understand I'm still a newbie here so please feel free to provide suggestions or advices on my coding etc. Cheers!
Main method class:
import java.io.*; import java.util.Scanner; import java.util.Vector; class TestVector3 { public static void main(String [] args) { System.out.println("Please enter the name of the text file to read: "); Scanner userInput = new Scanner(System.in); Vector <KillerRobot> robotDetails = new Vector <KillerRobot>(); KillerRobot robot; Scanner fileInput = null; try { File textFile = new File(userInput.nextLine()); fileInput = new Scanner(textFile); } catch (FileNotFoundException e) { System.out.println("Error - file not found!"); System.out.println("Re-enter file name :"); //Reprompt user for name of the text file fileInput = new Scanner(userInput.nextLine()); } while(fileInput.hasNext()) { robot = new KillerRobot(); String first = fileInput.next(); robot.setName(first); String second = fileInput.next(); robot.setMainWeapon(second); int third = fileInput.nextInt(); robot.setNumberOfKills(third); robotDetails.add(robot); } for(KillerRobot i : robotDetails) { System.out.println(i); } fileInput.close(); } } KillerRobot class file:
class KillerRobot { private String name; private String mainWeapon; private int numberOfKills; KillerRobot() { } public String getName() { return name; } public String getMainWeapon() { return mainWeapon; } public int getNumberOfKills() { return numberOfKills; } public String toString() { return name + " used a " + mainWeapon + " to destroy " + numberOfKills + " enemies "; } public void setName(String a) { name = a; } public void setMainWeapon(String b) { mainWeapon = b; } public void setNumberOfKills(int c) { numberOfKills = c; } }