title: NoSuchElementException reading/ scanning input
body: <p>Here is the main problem:</p>
  
  <pre><code>    java.util.NoSuchElementException: No line found
          at java.util.Scanner.nextLine(Unknown Source)
          at ExamAnalysis.main(ExamAnalysis.java:21)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
          at java.lang.reflect.Method.invoke(Unknown Source)
          at edu.rice.cs.drjava.model.compiler.JavacCompiler.runCommand(JavacCompiler.java:271)
  </code></pre>
  
  <p>The program compiles and runs. It's just that I am either getting the java.util.NoSuchElementException along with my five jother errors with (answer.charAt(i) == char) near the bottom. Here is my program:</p>
  
  <pre><code>import java.io.*;
  import java.util.Scanner;
  
  class ExamAnalysis
   {
     public static void main(String [] args) throws FileNotFoundException
     {
         Scanner keyboard = new Scanner(System.in);  
         System.out.println("Please type the correct answers to the exam questions, one right after the other: ");
         String answers = keyboard.nextLine();
         System.out.println("Where is the file with all the student responses? ");
         String responses = keyboard.nextLine();
         Scanner read = new Scanner(new File(responses));
  
  
          while (read.hasNextLine())
          {
           for (int i = 0; i &lt;= 10; i++)
           {
            responses = read.nextLine();
            int p = 1;
            p += i;
            System.out.println("Student " + p + " responses: " + responses.substring(0,10));
             }
              System.out.println("Thank you for the data on 9 students. Here's the analysis: ");
              resultsByStudents(responses, answers);
              analysis(responses);
             }
          }
  
           public static void resultsByStudents(String responses, String answers)
            { 
             System.out.println ("Student #        Correct        Incorrect       Blank");
             System.out.println ("~~~~~~~~~        ~~~~~~~        ~~~~~~~~~       ~~~~~");
             int student = 0;
             int correct = 0;
             int incorrect = 0;
              int blank = 0;
  
           for (int i = 0; i &lt;= 9; i++) 
           {
            for (int j = 0; j &lt;= responses.length(); j++)
            {
             if ((responses.charAt(j)) == answers.charAt(j))
              correct++; 
             else if ((responses.charAt(j)) != answers.charAt(j))
              incorrect++;
             else 
              blank++;   
              }
               System.out.println(student + "        " + correct + "        " + incorrect + "        " + blank);
               student++;
          }    
        }
  
       public static void analysis(String responses)
       {
        System.out.println("QUESTION ANALYSIS   (* marks the correct response)");
        System.out.println("~~~~~~~~~~~~~~~~~");
  
  
       //stores the percentage of each choice chosen  
      double A = 0;
      double B = 0;
      double C = 0;
      double D = 0;
      double E = 0;
      double X = 0;
      // tallys every variable chosen per question
  
      for (int i = 0; i &lt;= 10; i++) // go through all the questions
      {
       for (int j = 0; j &lt;= responses.charAt(i); j++) //go through all the student responses
       {
        // variable that are being tallied
        int chooseA = 0;
        int chooseB = 0;
        int chooseC = 0;
        int chooseD = 0;
        int chooseE = 0;
        int chooseBlank = 0;
       //variables take percentage of choices that have been chosen from each student
        A = chooseA/9;
        B = chooseB/9;
        C = chooseC/9;
        D = chooseD/9;
        E = chooseE/9;
        X = chooseBlank/9;
        // variables that will print the asterisk with certain character of correct answer
        String a = "A";
        String b = "B";
        String c = "C";
        String d = "D";
        String e = "E";
        String blank = "blank";
  
  
        if (responses.charAt(j) == A)
         chooseA++;
        else if (responses.charAt(j) == B)
         chooseB++;
        else if (responses.charAt(j) == C)
         chooseC++;
        else if (responses.charAt(j) == D)
         chooseD++;
        else if (responses.charAt(j) == E)
         chooseE++;
        else 
         chooseBlank++; 
  
  
       System.out.println("Question #" + i);
        if (answers.charAt(i) == 'A') a = "A*"; // answers cannot be resolved(I already made it a  global variable in my main method.)
        else if (answers.charAt(i) == 'B') b = "B*";// answers cannot be resolved
        else if (answers.charAt(i) == 'C') c = "C*";// answers cannot be resolved
        else if (answers.charAt(i) == 'D') d = "D*";// answers cannot be resolved
        else if (answers.charAt(i) == 'E') e = "E*";// answers cannot be resolved
        System.out.println(a + "        " + b + "        " + c + "        " + d + "        " + e + "        " + blank);
      System.out.println (chooseA + "        " + chooseB + "        " + chooseC + "        " + chooseD + "        " + chooseE + "        " + chooseBlank );
      System.out.println (A + "        " + B + "        " + C + "        " + D + "        " + E + "        " + X);
    }
  } 
  </code></pre>
  
  <p>}
  }</p>