Я пытаюсь создать конструктор для класса, который принимает два параметра, которые являются файлами, и помещает информацию в файлы в полях моего массива
мой код для программы выглядит следующим образом:
import java.util.Scanner;
import java.io.*;
public class Chapter7ALabDemo
{
public static void main (String [] args) throws IOException
{
File file;
Scanner readKey;
Scanner readAnswers;
String str;
int numQuestions;
DriverExam student;
int [] missedQuestions;
Scanner keyboard = new Scanner(System.in);
System.out.println("Enter the name of the file that is the test key ");
str = keyboard.nextLine();
file = new File(str);
readKey = new Scanner(file);
System.out.println("Enter the name of the file with the student answers.");
str = keyboard.nextLine();
file = new File(str);
readAnswers = new Scanner(file);
System.out.println("How many test questions are there?");
numQuestions = keyboard.nextInt();
student = new DriverExam(readKey, readAnswers, numQuestions);
missedQuestions = student.questionsMissed();
System.out.println(student);
if (student.passed())
System.out.println("The student passed.");
else
System.out.println("The student did not pass.");
System.out.println("The student got " + student.totalCorrect() + " answers correct.");
System.out.println("The student got " + student.totalIncorrect() + " answers incorrect.");
System.out.println("The following questions were missed by the student: ");
student.printMissed(missedQuestions);
}
}
Мой конструктор должен создавать экземпляры массивов с заданным размером и сохранять данные, считанные из файла, в массив ключей ответов и сохранять данные, прочитанные из другого файла, в массив ответов учеников.мой конструктор внутри моего класса, который я попробовал, выглядит следующим образом. Примечание: я сделал только первый, чтобы показать)
import java.util.Scanner;
public class DriverExam
{
private static char[] answerKey;
private static char[] studentAns;
public DriverExam(Scanner readKey,Scanner readAnswers,int numQuestions)
{
answerKey = new char[numQuestions];
for (int i = 0; readKey.hasNext() && i < numQuestions; i++)
answerKey[i] = readKey.nextChar();
}
Единственная проблема заключается в том, что у меня возникают проблемы с чтением символа за разответ и ключ выглядят так: A B B
и т. д.
Я читал здесь об использовании FileInputStream, но мы не дошли до этого в наших исследованиях.Я получаю сообщение об ошибке не могу прочитать строку как символ.Что я должен делать тогда?Кроме того, я думал, что нет способа преобразовать строку в символ?