Попытка реализовать поиск по идентификатору студента в терминальной программе Java io - PullRequest
0 голосов
/ 06 мая 2020

Я новичок в имплантации Java .io для записи в файлы, здесь я пытаюсь использовать функцию поиска для студента на основе сгенерированного идентификатора, когда они добавляются, и имени, которое им присвоено, для вход терминала # 5

public class Database
{
static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

 public void addRecords() throws IOException
 {

 // Create or Modify a file for Database
 PrintWriter pw = new PrintWriter(new BufferedWriter(new
 FileWriter("studentRecords.txt",true)));
 String name, dob,Class;
 int ClassID, Section, Credits;
 String s;
 boolean addMore = false;

 // Read Data
 do
 {
  System.out.print("\nEnter name: ");
  name = br.readLine();


  System.out.print("Date of Birth (dd/mm/yy) : ");
  dob = br.readLine();


   System.out.print("Class: ");
  Class = br.readLine();

System.out.print("ClassID: ");
  ClassID = Integer.parseInt(br.readLine());

 System.out.print("Section ");
  Section = Integer.parseInt(br.readLine());

System.out.print("Credits: ");
  Credits = Integer.parseInt(br.readLine());


  // Print to File
  pw.println(name);
  pw.println(dob);
  pw.println(Class);
  pw.println(ClassID);
  pw.println(Section);
  pw.println(Credits);

  System.out.print("\nRecords added successfully !\n\nDo you want to add more records ? (y/n) : ");
  s = br.readLine();
  if(s.equalsIgnoreCase("y"))
  {
   addMore = true;
   System.out.println();
  }
  else
   addMore = false;
 }
 while(addMore);
 pw.close();
 showMenu();
 }
 public void readRecords() throws IOException
 {
 try
 {

  // Open the file
  BufferedReader file = new BufferedReader(new
  FileReader("studentRecords.txt"));
  String name;
  int i=1;
  // Read records from the file
  while((name = file.readLine()) != null)
  {
   System.out.println("S.No. : " +(i++));
   System.out.println("-------------");
   System.out.println("\nName: " +name);
   System.out.println("Date of Birth : "+file.readLine());
   System.out.println("Class: "+file.readLine());
   System.out.println("ClassID: "+Integer.parseInt(file.readLine()));
   System.out.println("Section: "+Integer.parseInt(file.readLine()));
   System.out.println("Credits: "+Integer.parseInt(file.readLine()));
   System.out.println();
  }
  file.close();
  showMenu();
 }
 catch(FileNotFoundException e)
 {
  System.out.println("\nERROR : File not Found !!!");
 }
 }
 public void clear() throws IOException
 {

 // Create a blank file
 PrintWriter pw = new PrintWriter(new BufferedWriter(new
 FileWriter("studentRecords.txt")));
 pw.close();
 System.out.println("\nAll Records cleared successfully !");
 for(int i=0;i<999999999;i++); // Wait for some time
 showMenu();
 }
 public void showMenu() throws IOException
 {



//search for student
 BufferedReader read = new BufferedReader(new FileReader("studentRecords.txt"));
    String str;
     while((str=read.readLine())!=null)
     {
        Student s = new Student(Integer.valueOf(str)); 

        if(s.getId()==id)
            System.out.println(s.print());
     }


System.out.print("1 : Add Records\n2 : Display Records\n3 : Clear All Records\n4 :Exit\n\nYour Choice/n5 : Search For Student");
 int choice = Integer.parseInt(br.readLine());
 switch(choice)
 {
  case 1:
   addRecords();
   break;
  case 2:
   readRecords();
   break;
  case 3:
   clear();
   break;
  case 4:
   System.exit(1);
   break;
case 5:
   read();
   break;
  default:
   System.out.println("\nInvalid Choice !");
   break;
 }
 }
 public static void main(String args[]) throws IOException
 {
 Database call = new Database();
 call.showMenu();
 }
}

приведенный ниже код - это то, что я пытался изменить, чтобы использовать функцию поиска

 BufferedReader read = new BufferedReader(new FileReader("studentRecords.txt"));
    String str;
     while((str=read.readLine())!=null)
     {
        Student s = new Student(Integer.valueOf(str)); 

        if(s.getId()==id)
            System.out.println(s.print());
     }

я не уверен, как go добавить ученика id для поиска, который создается в файле чтения

 BufferedReader file = new BufferedReader(new
 FileReader("studentRecords.txt"));
 String name;
 int i=1;
 // Read records from the file
 while((name = file.readLine()) != null)
 {
//student id  
System.out.println("S.No. : " +(i++));

с имплантацией функции поиска, я также надеюсь использовать это, чтобы добавить еще одну функцию для удаления студента, указав c id

Я новичок в сайте переполнения стека, как и java в целом, но я надеюсь, что здесь или с помощью грубой силы я найду решение, я ценю любой ответ, даже если он должен отклонить мой поиск ответов .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...