import java.io.*;import java.util.*;import javax.swing.*;/** A maze with two rats to eat the Brussel Sprouts. */public class RatRace {        /**     * Start the Rat race game. if args != null, args[0] is     * used as a path to start the JFileChooser in, when looking     * for a maze to read in.     */    public static void main(String[] args) {        char[][] b;        try {// Read in a maze in b, using a JFileChooser                        if (args == null || args.length == 0) {                b= getMap(null);            }            else {                b= getMap(args[0]);            }        } catch (IOException e) {            b= null;        }                if (b != null) {            Maze maze= new Maze(b);            MazeGUI mazeGUI= new MazeGUI(maze);        }    }            /** Read a maze from a file given by a JFileChooser and return     an array that contains the maze. Return null if it is not possible.     If p is not null, use p as a path to start the JFileChooser.*/    public static char[][] getMap(String p) throws IOException {        // Write this method body                return null;    }        /** Obtain a file name from the user using a JFileChooser)     and return a reader that is linked to it. If p is not null     (it can be), start the JFileChooser at the path given by p*/    public static BufferedReader getReader(String p) throws IOException {        JFileChooser jd;        if (p == null) {            jd= new JFileChooser();        }        else {            jd= new JFileChooser(p);        }        jd.setDialogTitle("Choose input file");        jd.showOpenDialog(null);        return new BufferedReader(new FileReader(jd.getSelectedFile()));    }}