我想在Student
s的输入文件中搜索。以下是我目前工作的概述。
Class Student
,带有setter,getter和display方法(print)
Class StudentFile
import java.io.*;
import java.util.ArrayList;
public class StudentFile {
public void Trouver(int id)
{
try
{
File file = new File("C:/Users/Akram/Documents/akram.txt");
BufferedReader read = new BufferedReader(new FileReader(file));
String str;
while((str=read.readLine())!=null)
{
Student s;
if(s.getId()==id)
System.out.println(s.print());
}
read.close();
}
catch(IOException e) { System.out.println(e); }
}
}
这个方法什么都没显示,我不知道为什么。你有什么见解吗?
答案 0 :(得分:1)
您正在从文件中读取行并将其内容分配给str
,但您从未使用此值执行某些操作。
此外,Student
似乎是空的。
假设您的文件仅包含学生的ID:
BufferedReader read = new BufferedReader(new FileReader(file));
String str;
while((str=read.readLine())!=null)
{
// Your constructor assigns str to ID property of Student
// Casting to Integer, because ID is a number
Student s = new Student(Integer.valueOf(str));
if(s.getId()==id)
System.out.println(s.print());
}
另外,请确保学生中的print()
方法确实打印出您想要的内容。