necesito ayuda compañeros

hola que tal compañeros necesito ayuda espero alguien me pueda ayudar
necesito programar un automata en java que lea la subcadena 1 1, ya sea que que la lleve al principio en medio o al final no importa el orden pero que no se repita.
ya lo tengo hecho pero me salen unos errores al momento de correr el programa al leer las cadenas en los diferentes estados del automata me arroja error

aqui les muestro el automata propuesto con las cadenas que acepta y que no cepta tambien

y aqui el codigo del programa

package miautomata;
import java.util.Scanner;
public class Miautomata {
int cont;
boolean cadAceptada;
char [] cadena;

public static void main(String[] args) {
int opcion=1;
Scanner in = new Scanner(System.in);
while(opcion == 1){
Miautomata a=new Miautomata();
System.out.println("AUTOMATA QUE CONTENGA LA SUBCADENA 11 AL PRINCIPIO AL MEDIO O AL FINAL ");
System.out.println("\nESCRIBA LA CADENA :");
String linea = in.next();
a.cadena = linea.toCharArray();
a.inicio();
a.resultado();

System.out.println("1. Probar otra cadena");
System.out.println("2. Salir ");
opcion = in.nextInt();
System.out.println("\n");
}
}

public void inicio(){
cont=1;
cadAceptada=false;
q0();
}
public void q0(){
System.out.println("\nEstoy en Q 0");
if(cont

AdjuntoTamaño
15226630_556879904521632_1527090392_n.jpg65.89 KB

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Automata

Tu diagrama del Autómata no corresponde con la expresión regular, Me gustó tu caso, en la tarde lo programaré.

Si la expresión regular es: 0*(11)+0*, entonces algunos ejemplos serían:

Aceptados:
001100000
0011111100
110000
0000001111

No aceptados:
110011
10101
00110011
00110010

Aquí una posible implementación

Estimado, aquí una posible solución, revisar Saludos.