Javaでスケジューラを作成しています。すべてを 1 つのクラスにまとめましたが、別のクラスに分割したいと考えています。これは非常に小さなプログラムなので、メリットはほとんどありませんが、その概念を正しく理解したいと考えています。コードは以下です。
importTeams() メソッドの 2 番目のクラスでエラーが発生します。このメソッドが入っているパッケージをインポートすれば大丈夫だと思いました。明らかにそうではありません。任意のヒント?
package fifa.scheduler.fileimport;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.*;
import fifa.scheduler.output.*;
public class FileRead2 {
private String rrTeam;
public List<String> importTeams() {
ArrayList<String> teamList = new ArrayList<String>();
BufferedReader br = null;
int linecount = 0;
String teamcounter;
try {
br = new BufferedReader(new FileReader("path"));
while (br.readLine() != null){
linecount ++;
}
br.close();
br = new BufferedReader(new FileReader("path"));
setRrTeam(br.readLine());
while ((teamcounter = br.readLine()) != null) {
teamList.add(teamcounter);
}
if (linecount % 2 != 0) {
teamList.add("byeteam");
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
return teamList;
}
public static void main(String args[]){
FileRead2 fr = new FileRead2();
fr.PrintTeams();
}
private void setRrTeam(String rrTeam) {
this.rrTeam = rrTeam;
}
private String getRrTeam() {
return rrTeam;
}
}
package fifa.scheduler.output;
import java.util.Collections;
import java.util.List;
import fifa.scheduler.fileimport.FileRead2;
public class SchedulerOutput {
public void PrintTeams(){
List<String> teamList = importTeams();
int tl = teamList.size();
int bh = 0;
int uh = (tl - 2);
for (int i = 0; i <=(teamList.size()-1); i++) {
System.out.println("Week " + (i+1) + " fixtures");
System.out.println(getRrTeam() + " vs " + teamList.get(tl -1));
while ((bh <= (tl / 2)) && (uh >= ((tl / 2)))) {
System.out.println(teamList.get(bh) + " vs " + teamList.get(uh));
bh++;
uh--;
}
Collections.rotate(teamList, 1);
tl = teamList.size();
bh = 0;
uh = (tl - 2);
}
}
}