0
java ファイル読み込みでファイル内の数字と異なるエラー
ここに質問したいことを詳細に書いてください
javaで部活動の名前と部員数が記録されているファイルを読み込み、部活動の名前をリストに表示し、クリックすると選択した部活動の部員数をテキストフィールドに表示するプログラムです。
結果は出力されているが、その結果が期待したものとは異なっていました。
運動部、文化部ごとに用意されたファイルの部員数を降順に並べることを実現したいです。
radioButton01 = new JRadioButton("運動部");
radioButton01.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
ArrayList<String> tmpAL=new ArrayList<String>(MAX);
buinsu=new int[MAX];
int i=0;
File fl = new File("./undoubu.txt");
try{
BufferedReader br = new BufferedReader(new FileReader(fl));
String cItem;
while((cItem=br.readLine())!=null && i<MAX){
tmpAL.add(cItem);
if((cItem=br.readLine())==null)
break;
buinsu[i]=Integer.parseInt(cItem);
i++;
}
br.close();
}catch(IOException fe){
textField01.setText(fe.toString());
}
tmpAL.trimToSize();
list.setListData(tmpAL.toArray(new String[tmpAL.size()]));
String[] tmpS=tmpAL.toArray(new String[tmpAL.size()]);
String suuA;
int suuB;
for(int j=0;j<i-1;j++){
for(int k=j+1;k<i;k++){
if(buinsu[j]<buinsu[k]){
suuB=buinsu[j];
buinsu[j]=buinsu[k];
buinsu[k]=suuB;
suuA=tmpS[j];
tmpS[j]=tmpS[k];
tmpS[k]=suuA;
}
}
}
}
});
panelCenter.add(radioButton01);
radioButton02 = new JRadioButton("文化部");
radioButton02.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
ArrayList<String> tmpAL=new ArrayList<String>(MAX);
buinsu=new int[MAX];
int i=0;
File fl = new File("./bunkabu.txt");
try{
BufferedReader br = new BufferedReader(new FileReader(fl));
String cItem;
while((cItem=br.readLine())!=null && i<MAX){
tmpAL.add(cItem);
if((cItem=br.readLine())==null)
break;
buinsu[i]=Integer.parseInt(cItem);
i++;
}
br.close();
}catch(IOException fe){
textField01.setText(fe.toString());
}
tmpAL.trimToSize();
list.setListData(tmpAL.toArray(new String[tmpAL.size()]));
String[] tmpS=tmpAL.toArray(new String[tmpAL.size()]);
String suuA;
int suuB;
for(int j=0;j<i-1;j++){
for(int k=j+1;k<i;k++){
if(buinsu[j]<buinsu[k]){
suuB=buinsu[j];
buinsu[j]=buinsu[k];
buinsu[k]=suuB;
suuA=tmpS[j];
tmpS[j]=tmpS[k];
tmpS[k]=suuA;
}
}
}
}
});
panelCenter.add(radioButton02);