您的位置:首页 > 编程语言 > Java开发

A faulty Java prgm

2009-12-17 00:15 267 查看
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!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息