Question: The code below have some logic error. Here is the code import java.io.File; import java.io.IOException; import java.util.HashMap; import java.util.Map; import java.util.Scanner; class Validator { public

The code below have some logic error.

Here is the code

import java.io.File; import java.io.IOException; import java.util.HashMap; import java.util.Map; import java.util.Scanner; class Validator { public static void main(String args[]) throws IOException {

Scanner scanner = new Scanner(new File(args[0]));

Map stateTransitions = new HashMap();

while(scanner.hasNextLine()) { stateTransitions.put(new StateTransition(scanner.nextInt(), scanner.next().toCharArray()[0]), scanner.nextInt()); }

scanner = new Scanner(new File(args[1])); String inputString = scanner.next(); scanner.close();

Integer currentState = 0; int i=0; System.out.println("Testing with input string : " + inputString);

for(i=0; i

if(currentState == null) { System.out.println("Failure at position " + i + " found character " + inputString.charAt(i)); break; }

else if(currentState == 999) { System.out.println("Success"); break; } }

if(i == inputString.length()) { System.out.println("Input string ended before success transition"); } } }

> run Validator

java.lang.ArrayIndexOutOfBoundsException: 0

at Validator.main(Validator.java:12)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at edu.rice.cs.drjava.model.compiler.JavacCompiler.runCommand(JavacCompiler.java:267)

> run Validator statemachine.txt 112.txt

Testing with input string : aCb

Failure at position 1 found character C

112.txt has more than one line content. However this code only read and deal with first line. There should be some problem with the loop.

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!