3. (project) The program given below count keywords in a Java source file. Revise the program such that keywords in comments are disregarded. import java.util.*; import java.io.*; public class CountKeywords { public static void main(String[] args) throws Exception { Scanner input = new Scanner(System.in); System.out.print("Enter a Java source file: "); String filename - input.nextLine(); File file = new File(filename); if (file, exists()) { System.out.println("The number of keywords in " + filename + " is " + countKeywords (file)); } else { System.out.println("File" + filename + does not exist."); } public static int countKeywords (File file) throws Exception { // Array of all Java keywords + true, false and null String keywordString -{"abstract", "assert", "boolean", "break", "byte", "case", "catch", "char", "class", "const". "continue", "default", "do", "double", "else", "enum". "extends", "for", "final", "finally", "float", "goto", "1", "implementa", "import", "instanceof", "int", "interface", "long", "native","now", "package", "private", "protected", "public", "return", "short", "static", "atricttp", "super", "switch", "synchronized", "thia", "throw", "throwa", "transient", "try". "void", "volatile", "while": "true", "false", "null"); Set
keywordSet = new HashSet(Arrays.asList(keywordString)); 0; int count = Scanner input = new Scanner(file); while (input hasNext()) { String word = input.next(); if (keywordSet.contains (word)) count++; 3 return count; 3 3 4. Question on Map, to be continued. Set keywordSet = new HashSet(Arrays.asList(keywordString)); 0; int count = Scanner input = new Scanner(file); while (input hasNext()) { String word = input.next(); if (keywordSet.contains (word)) count++; 3 return count; 3 3 4. Question on Map, to be continued