package default_package;
import java.util.Scanner;
public class Main_Class
{
public static void main(String[] args)
{
System.out.print("Number of Input NFA States: ");
Scanner s=new Scanner(System.in);
int numberOfStates=s.nextInt();
State[] state=new State[numberOfStates];
for(int i=0;i<numberOfStates;i++)
{
System.out.println("state"+i+" Created.");
}
System.out.println("\nState0 is starting point.\n");
for(int i=0;i<numberOfStates;i++)
{/////////0,1 linking///////////
System.out.print("state"+i+"'s 0 is headed to: ");
state[i].link0=state[s.nextInt()];//THIS PART
System.out.print("state"+i+"'s 1 is headed to: ");
state[i].link1=state[s.nextInt()];
}
for(int i=0;i<numberOfStates;i++)
{////////epsilon linking//////////
System.out.print("Number of epsilon move for State"+i+":");
int j=s.nextInt();
if(j>0)
{
state[i].epsilon(j);
for(int i1=0;i1<j;i1++)
{
System.out.print("State"+i+"'s epsilon move "+i1+": ");
state[i].linke[i1]=state[s.nextInt()];
}
}
}
System.out.println("Done");
}
}
package default_package;
public class State
{
State link0;
State link1;
State[] linke;
public void epsilon(int a)
{
linke=new State[a];
}
}
Как вы можете видеть, я пытаюсь получить NFA и перевести его в DFA.Исключение Null Point ... Не знаю Почему
Но я продолжаю получать NullPointException, где я обозначил как «ЭТО ЧАСТЬ» в коде.
Для меня этот метод кажется таким же, как создание ADT через внешний класс узла, но этот код не работает.
Я попытался изменить имена переменных и т. Д., Но не смог найти конкретную причину, почему это не работает.
Кто-нибудь с некоторыми мудрыми советами?
Используйте отладчик. – MarsAtomic