Question: import java.io . * ; import java.util.Stack; class DelimiterChecker { private BufferedReader reader; private int lineNumber = 1 ; private int charNumber = 0 ;
import java.io;
import java.util.Stack;
class DelimiterChecker
private BufferedReader reader;
private int lineNumber ;
private int charNumber ;
public DelimiterCheckerString fileName throws FileNotFoundException
reader new BufferedReadernew FileReaderfileName;
public Character getNextCharacter throws IOException
int charCode;
char character;
while charCode reader.read
charNumber;
character char charCode;
Check for comments, literals, and skip
if character
if readermarkSupported
reader.mark;
char nextChar char reader.read;
if nextChar
Singleline comment, skip until the end of the line
while character
&& charCode
charCode reader.read;
character char charCode;
charNumber;
lineNumber;
charNumber ;
else if nextChar
Multiline comment, skip until
boolean commentEnd false;
while commentEnd && charCode
charCode reader.read;
character char charCode;
charNumber;
if character
reader.mark;
char next char reader.read;
if next
commentEnd true;
else if character
lineNumber;
charNumber ;
else
reader.reset;
return character;
else
return character;
else if character
String literal, skip until the closing double quote
while character character && charCode && char reader.read && charCode
charCode reader.read;
character char charCode;
charNumber;
else if character
Character literal, skip until the closing single quote
while character character && charCode && char reader.read && charCode
charCode reader.read;
character char charCode;
charNumber;
else if character
lineNumber;
charNumber ;
else
return character;
return null; End of file
public String getCurrentPosition
return "Line lineNumber Char charNumber;
public class DelimiterMatching
public static void mainString args
BufferedReader keyboard new BufferedReadernew InputStreamReaderSystemin;
String fileName;
DelimiterChecker delimiterChecker;
while true
try
System.out.printEnter the filename: ;
fileName keyboard.readLine;
delimiterChecker new DelimiterCheckerfileName;
break;
catch FileNotFoundException e
System.out.printlnFile not found. Please try again.";
catch IOException e
System.out.printlnError reading input. Please try again.";
Stack delimiterStack new Stack;
Character currentChar;
int position ;
try
while currentChar delimiterChecker.getNextCharacter null
if containscurrentChartoString
delimiterStack.pushcurrentChar;
else if containscurrentChartoString
if deli a A UML class diagram that includes all classes you
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
