import java.io.*;
import java.util.*;
public class JScrabble_con
{
public static void main(String[] args) throws IOException
{
String answer;
//String riddle;
int j;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Enter a word to make a riddle: ");
answer = br.readLine();
StringBuffer sb = new StringBuffer(answer);
j=answer.length(); //for "razer", it return 4 or 5??
char riddle[] = new char[j];
Random rd = new Random();
for(j=answer.length();j>=1;j--)
{
//Generate a random index to retrieve.
int idx=rd.nextInt(j-1);
//Copy the character to riddle[]
riddle[j-1] = sb.charAt(idx);
sb.deleteCharAt(j-1);
}
System.out.println("The riddle is: " + riddle.toString());
for(int i=0; i<5; i++)
{
if(answer.equalsIgnoreCase(br.readLine()))
{
System.out.println("You are correct!");
return;
}
else
System.out.println("Oops, it's INCORRECT! Try again. ("+(i-1)+" chances left.)");
}
/*
if(answer.equalsIgnoreCase(br.readLine()))
{
System.out.print("Congratulations! You are CORRECT!");
}
else
return;
*/
}
}
I want this program to obtain a input and then shuffle the sequence of the letter and output as a riddle.
Then user must guess what is the original word.
But during the compilation, I got "java.lang.ArrayIndexOutOfBoundsException" error, but I can not find which code occur this error. Would you like to debug for me??
Thanks for anyone who replied!