这是我的计划
String thisSchool=buffer.readLine();
String thisLine;
while((thisLine = buffer.readLine()) != null){
if(thisLine=="*")
{
thisSchool=buffer.readLine();
}
else
{
School school = new School(thisSchool);
Student student = new Student(thisLine, school);
StudentList.add(student);
}
}
我的文字文件如下:
School1
A
B
C
*
School2
D
E
*
School3
F
我的驱动程序类的输出是:
A School1
B School1
C School1
* School1
School2 School1
D School1
E School1
* School1
School3 School1
F School1
这就是我想要的样子
A School1
B School1
C School1
D School2
E School2
F School3
以下是问题 " currentSchool"变量永远不会改变,我不知道为什么! " *"被视为学生(我想将它用作分隔符,即程序在遇到它时会忽略它)。相反," if line = *"命令被完全忽略,因此,学校永远不会改变,学生写错了
答案 0 :(得分:1)
if(thisLine=="*")
不要使用“==”来比较对象。
使用equals()
方法:
if(thisLine.equals("*"))