2015-06-26 1 views
-1

Я хочу создать метод для заполнения данных student с использованием метода подписи как public List<student> populateData(String filename).Что является типом возвращаемого списка <student>?

Я новичок в Java. Может ли кто-нибудь помочь мне в этом?

код реализован мне

public List<Student> populateData(String fileName) { 
    // TODO Auto-generated method stub 
    Scanner s = null; 
    try { 
     s = new Scanner(new File("F:\\Participant_Workspace\\Q3\\StudentDataManagementSystem\\StudentDetails.txt‌​")); 
    } catch (FileNotFoundException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
    List<Student> list = new ArrayList<Student>(); 
    while (s.hasNext()){ 
     list.addAll(s.next()); 
    } 
    s.close(); 
    return list; 
} 

но дает ошибку добавить arrayList<string> и к list.addAll(s.next());.

+0

Я просто хочу прочитать данные из файла и отобразить его. но я не знаю, какой будет тип возврата. – Sagar

+0

Если 'public List populateData (String filename)' является вашим методом, тогда 'List' является вашим типом возврата. Пожалуйста, будьте более конкретными и выполните некоторую кодировку, а затем вернитесь. –

+0

Сканер s = null; \t \t попробовать { \t \t \t з = новый сканер (новый файл ("F: \\ Participant_Workspace \\ Q3 \\ StudentDataManagementSystem \\ StudentDetails.txt")); \t \t} задвижка (FileNotFoundException е) { \t \t \t // TODO автоматическая генерация улова Блокировать \t \t \t e.printStackTrace(); \t \t} \t \t Список list = new ArrayList (); \t \t while (s.hasNext()) { \t \t list.add (s.next()); \t \t} \t \t s.close(); Я сделал это много кодирования, но застрял, поскольку он дает ошибку для добавления arrayList Sagar

ответ

0

Предполагая, что ваш файл является чем-то вроде этого.

а 101

хуга 102

PQR 123

Ниже Приведен простой пример, внести изменения и сделать ваши вещи.

public class PrintStudentsFromFile { 

    public static void main(String[] args) { 


    List<Student> students= new PrintStudentsFromFile().populateData("path to text file"); 


    for (Student student : students) { 
      System.out.println(student); 
     } 
    } 
    /** 
    * Reads Files and returns a List of Students 
    * @param filename 
    * @return 
    */ 
    public List<Student> populateData(String filename){ 
    Scanner s = null; 
    String nameAndRollNumber=""; 
     try { 
      s = new Scanner(new File(filename)); 

     } catch (FileNotFoundException e) { 
      e.printStackTrace(); 
     } 
     List<Student> list = new ArrayList<Student>(); 
     while (s.hasNext()) { 
     nameAndRollNumber = s.nextLine(); 
     String[] nameAndRollNumbers = nameAndRollNumber.split("\\s+"); 
     String name = nameAndRollNumbers[0]; 
     String roll = nameAndRollNumbers[1]; 
     list.add(new Student(name, roll)); 
     } 
     s.close(); 
     return list; 
    } 

} 
/** 
* 
* Student Object , with name and Roll Number Params 
*/ 
class Student{ 

    String name; 
    String rollNumber; 

    public Student(String name, String rollNumber) { 
     this.name = name; 
     this.rollNumber = rollNumber; 
    } 

    public String getName() { 
     return name; 
    } 

    public void setName(String name) { 
     this.name = name; 
    } 

    public String getRollNumber() { 
     return rollNumber; 
    } 

    public void setRollNumber(String rollNumber) { 
     this.rollNumber = rollNumber; 
    } 

    @Override 
    public String toString() { 
     return "Name :"+name+"- Roll Number : "+rollNumber; 
    } 


} 
+0

Мы не можем добавить новый метод, например getStudent – Sagar

+0

, но как я могу заменить getStudent – Sagar

+0

отредактировал мой ответ, но скажите, почему ** вы не можете добавить новый метод, например getStudent ** –

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