2013-05-25 2 views
-3

Мне было интересно, как звонить и искать arraylist из одного класса в другой. Вот мой первый класс:Как звонить и искать arraylists из одного класса в другой класс?

public void putIntoArray() { 
     try 
     { 

     FileInputStream intoArrays = new FileInputStream("NRLdata.txt"); 
      // Get the object of DataInputStream 
      DataInputStream in = new DataInputStream(intoArrays); 
      BufferedReader arr = new BufferedReader(new InputStreamReader(in)); 
      Scanner src = new Scanner(intoArrays); 
     ArrayList<Integer> year = new ArrayList<Integer>(); 
      ArrayList<String> winners = new ArrayList<String>(); 
      ArrayList<String> losers = new ArrayList<String>(); 
      ArrayList<String> premiers = new ArrayList<String>(); 
      ArrayList<String> spooners = new ArrayList<String>(); 
      ArrayList<Boolean> finals = new ArrayList<Boolean>(); 
      ArrayList<Integer> winningScore = new ArrayList<Integer>(); 
      ArrayList<Integer> losingScore = new ArrayList<Integer>(); 
      ArrayList<Integer> attendance = new ArrayList<Integer>(); 

      src.useDelimiter(","); 

      while (src.hasNext()) { 
       year.add(src.nextInt()); 
       winners.add(src.next()); 
       losers.add(src.next()); 
       premiers.add(src.next()); 
       spooners.add(src.next()); 
       finals.add(src.nextBoolean()); 
       winningScore.add(src.nextInt()); 
       losingScore.add(src.nextInt()); 
       attendance.add(src.nextInt()); 
      } 
      Integer[] years = new Integer[year.size()]; 
      year.toArray(years); 
      String[] winner = new String[winners.size()]; 
      winners.toArray(winner); 
      String[] loser = new String[losers.size()]; 
      losers.toArray(loser); 
      String[] premier = new String[premiers.size()]; 
      premiers.toArray(premier); 
      String[] spoons = new String[spooners.size()]; 
      spooners.toArray(spoons); 
      Boolean[] held = new Boolean[finals.size()]; 
      finals.toArray(held); 
      Integer[] winScore = new Integer[winningScore.size()]; 
      winningScore.toArray(winScore); 
      Integer[] loseScore = new Integer[losingScore.size()]; 
      losingScore.toArray(loseScore); 
      Integer[] crowds = new Integer[attendance.size()]; 
      attendance.toArray(crowds); 
      src.close(); 
      arr.close(); 
      }catch (Exception e){ //Catch exception if any 
      System.err.println("Error: " + e.getMessage()); 
      } 

} 

и ее мой другой класс:

import java.io.*; 
import java.util.*; 

public class GrandFinal { 


public void readFromFile() { 

    Scanner search = new Scanner(System.in); 
    int grandYear; 
    System.out.println("What grand Final would you like to search for"); 
    grandYear = search.nextInt(); 


} 
    } 

Как вы можете видеть, что я хочу, чтобы найти определенный grandfinal на основе года входов пользователей.

+0

Этот сайт не является сервисом для отладки или проверки кода. – Bohemian

ответ

0

Вы бы вернуть arrayList в первом классе, а затем передать список в новую функцию в качестве параметра:

public void readFromFile(yourArrayList) { 
... 

Вы не читали его из текстового файла, так как вы не написали это в текстовый файл.

Кроме того, вам понадобится добавить логику, которая ищет объекты arrayList и возвращает тот, который вы хотите.

Надеюсь, что это поможет.