2015-04-12 3 views
0

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

Вот код, который я сделал для поиска студента, и подумал об утилизации кода для изменения и отображения студента, однако я застрял.

public static void searchStudent(){ 
    try{ 
     BufferedReader readFile = new BufferedReader(new FileReader(file)); 

     System.out.println("--- Searching for a Student ---"); 
     System.out.print("Enter Student Number, Last Name or First Name: "); 
     String option = sc.nextLine(); 

     System.out.println("Searching for '" + option + "' in the Student File"); 
     System.out.print("\n"); 

     while((line = readFile.readLine()) != null){ 
      int indexFile = line.indexOf(option); 

      if(indexFile > -1){ 
       System.out.println(line); 
       System.out.print("\n"); 
      } 
     } 
     readFile.close(); 
    } catch(IOException ioe){ 
     System.out.println("Error Searching for a Student !!!"); 
    } 
} 

Вот мой код для показа студента, какие-либо советы о том, как я могу обойти его? Заранее спасибо

public static void displayStudent(){ 
    try{ 
     BufferedReader readFile = new BufferedReader(new FileReader(file)); 

     System.out.println("--- Displaying Student Details ---"); 
     System.out.print("Enter Student Number: "); 
     String option = sc.nextLine(); 

     System.out.println("Searching for Student '" + option + "' in the Student File"); 
     System.out.print("\n"); 

     while((line = readFile.readLine()) != null){ 
      int indexFile = line.indexOf(option); 

      if(indexFile > -1){ 
       System.out.println("Student Number: " + myArray.get(line)[0]); 
       System.out.println("Last Name: " + myArray.get(line)[1]); 
       System.out.println("First Name: " + myArray.get(line)[2]); 
       System.out.println("Email Address: " + myArray.get(line)[3]); 
       System.out.println("Mobile Number: " + myArray.get(line)[4]); 
      } 
     } 
     readFile.close(); 
    } catch(IOException ioe){ 
     System.out.println("Error Displaying a Student !!!"); 
    } 
} 

ArrayList туАггау населен:

for(int x = 0; x < myArray.size(); x++){ 
      bw.write(myArray.get(x)[0] + ";"); 
      bw.write(myArray.get(x)[1] + ";"); 
      bw.write(myArray.get(x)[2] + ";"); 
      bw.write(myArray.get(x)[3] + ";"); 
      bw.write(myArray.get(x)[4] + ";"); 

      bw.write(System.getProperty("line.separator")); 
     } 
+1

любая ошибка/исключение и т. Д.? Каков твой вопрос? – SMA

+0

Ошибка: метод ArrayList.get (int) неприменим (фактический аргумент String не может быть преобразован в int путем преобразования вызова метода) – BbOii

+0

Как вы заполняете список myArray i.e? Поделитесь всем соответствующим кодом, пожалуйста. – SMA

ответ

0

Вместо:

myArray.get(line)[0] 

Использование:

myArray.get(indexFile)[0] 

Так вот вы обращаетесь элемент списка по индекс, а затем, как только вы получите элемент, вы пытаетесь получить доступ к имени студента и т. д. из списка.

Я бы предположил, что вы используете объект Student и указываете номер, имя и т. Д. Как поле объекта Student, а не используете Array.

+0

О, вау, Java действительно сложна и ошибочна, она может испортить всю вашу программу. Я никогда не понимал, что мне нужно использовать «indexFile» вместо «line», поскольку он уже подключен. Спасибо SMA. – BbOii

+0

Я никогда не использовал кнопку галочки, поскольку я редко бываю в stackoverflow, я сделаю это, чтобы поддержать вас! Еще раз спасибо! – BbOii

Смежные вопросы