This is my program

///////////////////////////////////////////////////////////////////////////////////
// ICS 3U1 - Mrs. Shanks
// Asad Choudhry
// November 28, 2009
// Family Feud
// 
// This program takes as input the question numbers, the questions, the answers,
// and the points. the question number is saved to the questionNumArray, the
// the question is saved to the questionNameArray, the answers are saved to 
// the answersArray and the points are saved to the answersNumArray.
// 
// This prgram will then and check if the user wants the rules, if yes the output 
// will be the rules. The loop will then generate a random question, and take as 
// input a guess from the user, the program will
// check if the guess is equal to one of the answers in answersArray, if so 
// the loop will add the points in answersNumArray to the score, add one to the
// correct answers, and add one to found, the output will be the points won and
// "Correct". the loop will then check if found is equal to 1 if not one is 
// added to strikes and the output is "Incorrect". The loop check if three 
// questions have been asked, if so the users final score is the output,
// otherwise, the next question is asked and the score is the output. The loop
// will check if the users score is greater then the highscore, if so the 
// output will be the players score to a file, and the the output to the screen
// will be "Congragulations you beat the highscore!" The loop will then check 
// if the user wants to play again, if so the loop repeats. Otherwise the 
// output will be "Thank-you for playing."
///////////////////////////////////////////////////////////////////////////////////
// Variables List:
// found = 0;
// count = 0;
// max = 0;
//int score = 0;
//int guess = 0;
//int repeat = 0;
//int errorCheck = 0;
//int correct = 0;
//int min = 0;
//int strikes = 0;
//int randomNum = 1;
//int highScore = 0;
//String playAgain = "";
//String name = "";
//String input = "";
//final int RANGE = 4;
//final int EMPTY = 0;
//final int MAX_INPUT = 34;
//final int GUESS_MAX = 8;
//final int MAX_CHECK = 7;
//final int ANSWERS_CORRECT = 5;
//final int MAX_QUESTION = 3;
//final int MAX_ARRAY = 35;
//final int NUM_RANGE = 7;

import java.io.*;
class FamilyFeud
{
  public static void main (String args [])
    throws java.io.IOException 
  {
    int found = 0;
    int count = 0;
    int max = 0;
    int score = 0;
    int guess = 0;
    int repeat = 0;
    int errorCheck = 0;
    int correct = 0;
    int min = 0;
    int strikes = 0;
    int randomNum = 1;
    int highScore = 0;
    String playAgain = "";
    String name = "";
    String input = "";
    final int RANGE = 4;
    final int EMPTY = 0;
    final int MAX_INPUT = 34;
    final int GUESS_MAX = 8;
    final int MAX_CHECK = 7;
    final int ANSWERS_CORRECT = 5;
    final int MAX_QUESTION = 3;
    final int MAX_ARRAY = 35;
    final int NUM_RANGE = 7;
    int random [] = new int [RANGE];
    int questionNumArray [] = new int [MAX_ARRAY];
    int answersNumArray [] = new int [MAX_ARRAY];
    String questionNameArray [] = new String [MAX_ARRAY];
    String answersArray [] = new String [MAX_ARRAY];
    
    
    // This loop will and check if the user wants the rules, if yes the output will
    // be the rules. The loop will then generate a random question, and take as 
    // input a guess from the user, the program will
    // check if the guess is equal to one of the answers in answersArray, if so 
    // the loop will add the points in answersNumArray to the score, add one to the
    // correct answers, and add one to found, the output will be the points won and
    // "Correct". the loop will then check if found is equal to 1 if not one is 
    // added to strikes and the output is "Incorrect". The loop check if three 
    // questions have been asked, if so the users final score is the output,
    // otherwise, the next question is asked and the score is the output. The loop
    // will check if the users score is greater then the highscore, if so the 
    // output will be the players score to a file, and the the output to the screen
    // will be "Congragulations you beat the highscore!" The loop will then check 
    // if the user wants to play again, if so the loop repeats. Otherwise the 
    // output will be "Thank-you for playing."
    do
    {
      FileReader fro = new FileReader ("survey.txt");
      BufferedReader bfr = new BufferedReader (fro);
      FileReader frt = new FileReader ("highScore.txt");
      BufferedReader bhr = new BufferedReader (frt);
      BufferedReader br = new BufferedReader (new InputStreamReader (System.in));
      
      
      
      
      // This loop takes as input the question numbers, the questions, the answers,
      // and the points. the question number is saved to the questionNumArray, the
      // the question is saved to the questionNameArray, the answers are saved to 
      // the answersArray and the points are saved to the answersNumArray.
      for (int countArray = 0; countArray <= MAX_INPUT; countArray ++)
      {
        input = bfr.readLine();
        questionNumArray [countArray] = Integer.parseInt (input);
        questionNameArray [countArray] =  bfr.readLine();
        answersArray [countArray] = bfr.readLine();
        input = bfr.readLine();
        answersNumArray [countArray] = Integer.parseInt (input);
      }
      fro.close();
      
      System.out.println ("Welcome to Family Feud PHS Version");
      input = bhr.readLine();
      highScore = Integer.parseInt (input);
      System.out.println ("The previous high score was: " + highScore);
      frt.close();
      System.out.println ("Can you beat it?");
      System.out.println ("What is your Name?");
      name = br.readLine();
      
      
      System.out.println ("Do you want the rules?");
      input = br.readLine ();
      
      // This selection checks if input equals "yes" if so the output is the rules.
      if (input.equalsIgnoreCase ("yes"))
      {
        System.out.println ("Now for the rules. A survey was given to one hundered" +
                            " people they each they each answered seven questio" +
                            "ns, the top five answers were taken. You will be as" +
                            "ked three of the questions, each question has five " +
                            "correct answers, each will have a point value assoc" +
                            "iated with it correspnding to how many people answe" +
                            "red it on the survey. The player will guess as to t" +
                            "he answer if correct the points the answer has will" +
                            "be added to the players score. After three incorrec" +
                            "t answers the question is over, after three questio" +
                            "n the players score is shown and the game is over.");
      }
      
      // This loop will generate a random question, and take as input a guess from 
      // the user, the program will check if the guess is equal to one of the answers
      // in answersArray, if so the loop will add the points in answersNumArray to 
      // the score, add one to the correct answers, and add one to found, the output 
      // will be the points won and "Correct". the loop will then check if found is
      // equal to 1 if not one is added to strikes and the output is "Incorrect". The
      // loop check if three questions have been asked, if so the users final score 
      // is the output, otherwise the next question is asked and the score is output.
      for (int countQuestion = 1; countQuestion <= MAX_QUESTION; countQuestion ++)
      {
        System.out.println ("\nRound: " + countQuestion);
        randomNum = (int)(Math.random() * NUM_RANGE);
        // This loop will take as input a guess from the user, the program will check
        // if the guess is equal to one of the answers in answersArray, if so the 
        // loop will add the points in answersNumArray to the score, add one to the 
        // correct answers, and add one to found, the output will be the points won 
        // and "Correct". the loop will then check if found is equal to 1 if not one
        // is added to strikes and the output is "Incorrect". The loop check if three
        // questions have been asked, if so the users final score is the output, 
        // otherwise, the next question is asked.
        while (strikes != MAX_QUESTION || correct != ANSWERS_CORRECT)
        {
          System.out.println (questionNameArray [randomNum * ANSWERS_CORRECT]);
          
          min = ANSWERS_CORRECT * randomNum;
          System.out.println ("What is your guess?");
          input = br.readLine ();        
          max = min + RANGE;
          
          // This loop will check if the guess is equal to one of the answers in 
          // answersArray, if so the loop will add the points in answersNumArray to
          // the score, add one to the correct answers, and add one to found, the 
          // output will be the points won and "Correct".
          for (int answerCheck = min; answerCheck <= max; answerCheck++)
          {
            // This Selection will check if the guess is equal to one of the answers
            // in answersArray, if so the loop will add the points in answersNumArray
            // to the score, add one to the correct answers, and add one to found, the 
            // output will be the points won and "Correct".
            if (input.equalsIgnoreCase (answersArray [answerCheck]))
            {
              score += answersNumArray [answerCheck];
              correct ++;
              System.out.print ("Correct!");
              System.out.println (" That was worth " + 
                                  answersNumArray [answerCheck] + " points.");
              answersArray [answerCheck] = null;
              count ++;
              found ++;
            }
          }
          // This selection will check if found is equal to 1, if not one is added to
          // strikes and the output is "Incorrect".
          if (found != 1)
          {
            System.out.println ("That was incorrect.");
            strikes ++;
          }
          
          // This selection will check if correct is equal to ANSWERS_CORRECT, if so
          // strikes will be equal to MAX_QUESTION, esle if strikes is equal to 
          // MAX_QUESTION, correct is will be equal to ANSWERS_CORRECT.
          if (correct == ANSWERS_CORRECT)
          {
            strikes = MAX_QUESTION;
          }
          else if (strikes == MAX_QUESTION)
          {
            correct = ANSWERS_CORRECT;
          }
          found = EMPTY;
        }
        correct = EMPTY;
        strikes = EMPTY;
        System.out.println ("Your score is " + score + ".");
      }
      // This selection will check if the players score is higher then the 
      // highscore, if so the output will be the players score to a file, and the
      // the output to the screen will be "Congragulations you beat the highscore!"
      if (score > highScore)
      {
        FileWriter fw = new FileWriter ("highScore.txt");
        fw.write (score + "\r\n");
        fw.close();
        System.out.println ("Congragulations you beat the highscore!");
      }
      System.out.println ("Would you like to play again?");
      input = br.readLine ();
    }
    while (input.equalsIgnoreCase ("yes"));
    System.out.println ("Thank-you for playing!");
  }
}

This is the survey.txt file

1
What is your favourite breakfast cereal?
Frosted Flakes
17
1
What is your favourite breakfast cereal?
Special k
16
1
What is your favourite breakfast cereal?
Cheerios
14
1
What is your favourite breakfast cereal?
Cinnamin Toast Crunch
8
2
What is your favourite subject in school?
Gym
26
2
What is your favourite subject in school?
Science
11
2
What is your favourite subject in school?
Math
8
2
What is your favourite subject in school?
Art
7
2
What college or university do you want to attend?
None
6
3
What college or university do you want to attend?
University of Toronto
21
3
What college or university do you want to attend?
None
15
3
What college or university do you want to attend?
Durham College
9
3
What college or university do you want to attend?
Harvard
5
3
What college or university do you want to attend?
University
5
4
What is your favourite colour?
Blue
42
4
What is your favourite colour?
Red
21
4
What is your favourite colour?
Green
11
4
What is your favourite colour?
Purple
10
4
What is your favourite colour?
Black
3
5
What is your favourite shakespeare play?
Romeo and Juliet
35
5

What is your favourite shakespeare play?
None
30
5
What is your favourite shakespeare play?
Macbeth
13
5
What is your favourite shakespeare play?
King Lear
4
5
What is your Favourite Shakespeare play?
Hamlet
4
6
What is your Favourite brand of potato chips?
Lays
50
6
What is your Favourite brand of potato chips?
Doritos
20
6
What is your Favourite brand of potato chips?
None
7
6
What is your Favourite brand of potato chips?
Miss Vickie's
7
6
What is your Favourite brand of potato chips?
Sunchips
5
7
What is your Favourite Car Company?
Ford
16
7
What is your Favourite Car Company?
Lamborghini
12
7
What is your Favourite Car Company?
Toyota
12
7
What is your Favourite Car Company?
BMW
9
7
What is your Favourite Car Company?
General Motors
5

This is the highscore file

137

I keep getting this error:
java.lang.NumberFormatException: For input string: "None"
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at FamilyFeud.main(FamilyFeud.java:128)

I cant figure out the solution what so ever
Please and thank you :)

Recommended Answers

All 3 Replies

Boy something is wrong here...This is the C forum

Boy something is wrong here...This is the C forum

Moved.

java.lang.NumberFormatException: For input string: "None"

Doesn't this give you a clue?
You are trying to convert the "None" into a number, probably with Integer.parseInt(...)

Whenever you call this: Integer.parseInt(...) you need to have a try-catch in order to handle the error if it is not a number.

The errors that you get should tell you at what line it occurred.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.