这是一个学校作业的问题,这就是我这样做的原因.
无论如何,我在主方法中使用Stdin制作扫描仪(Scanner stdin = new Scanner(System.in);是行),从程序运行时指定的txt读取数据.此扫描程序在main中按预期工作,但我需要在具有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()有效.我可以让程序工作,但它会很糟糕,我真的不明白发生了什么.我怀疑我错过了一个非常简单的概念,但我迷路了.任何帮助,将不胜感激.