Bueno estoy haciendo un programa el cual requiero sabes si en una palabra se encuentra el abecedario ordenado pero en distinta posision por ejemplo si esta abcdefghijklmnopqrstuvwxyz estaría bien al igual que pqrstuvwxyzabcdefghijklmno tambien pero si es asjdikasj ahi estaría mal y me el siguiente error
aqui el error es en la LINEA 20
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 9
at java.lang.String.charAt(String.java:658)
at OmegaUp.abecedario.main(abecedario.java:30)
C:\Users\SrTrp\AppData\Local\NetBeans\Cache\8.2\executor-snippets\run.xml:53: Java returned: 1
BUILD FAILED (total time: 5 seconds)
y este es mi código
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class abecedario {
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
String abc = "abcdefghijklmnopqrstuvwxyz";
int n = Integer.parseInt(bf.readLine());
String[] palabras = new String[n];
boolean[] status = new boolean[n];
int cc=0, ultimo=0;
for(int i = 0;i<n;i++){
palabras[i] = bf.readLine();
}
for(int i =0;i<palabras.length;i++){
String pal = palabras[i];
for(int j =0;j<26;j++){
if(pal.charAt(j)==abc.charAt(cc)){
status[i]=true;
cc++;
ultimo=1;
}else{
status[i]=false;
ultimo=0;
}
if(j==(abc.length()-1)){
if(ultimo!=0){
j=0;
}
}
}
}
for(int i=0;i<status.length;i++){
if(status[i]==true){
System.out.println("Correcto");
}else{
System.out.println("Incorrecto");
}
}
}
Tienes funciones que hacen eso,
https://docs.oracle.com/javase/7/docs/api/java/lang/String.html#contains(java.lang.CharSequence)
Aparte el programa que muestras tiene un mal diseño. El error te indica que te estás saliendo de los límites de la cadena, estás leyendo fuera de la cadena.