これは学校の課題の質問なので、そのようにしています。
とにかく、メインメソッドで Stdin を使用してスキャナーを作成し (Scanner stdin = new Scanner(System.in); は行です)、プログラムの実行時に指定された txt からデータを読み取ります。この Scanner はメインでは期待どおりに動作しますが、引数として Scanner を持つカスタム クラスで使用する必要があります。
public PhDCandidate(Scanner stdin)
{
name = stdin.nextLine();
System.out.println(name); //THIS NEVER RUNS
preliminaryExams = new Exam[getNumberOfExams()];
for(int i = 0; i <= getNumberOfExams(); i++)
{
preliminaryExams[i] = new Exam(stdin.nextLine(), stdin.nextDouble());
}
System.out.print("alfkj");
}
この時点で、スキャナの呼び出しはプログラムを終了するだけで、例外やエラーはスローされません。.next() の呼び出しのみが機能します。私はプログラムを動作させることができましたが、それはハッキーであり、何が起こっているのか本当に理解できません. 非常に単純な概念が欠けていると思いますが、迷っています。どんな助けでも大歓迎です。