###前提・実現したいこと
ここに質問したいことを詳細に書いてください
javaで部活動の名前と部員数が記録されているファイルを読み込み、部活動の名前をリストに表示し、クリックすると選択した部活動の部員数をテキストフィールドに表示するプログラムです。
結果は出力されているが、その結果が期待したものとは異なっていました。
運動部、文化部ごとに用意されたファイルの部員数を降順に並べることを実現したいです。
ファイルを読み込む機能を実装中に以下のエラーメッセージが発生しました。
###発生している問題・エラーメッセージ
ファイルは読み込めるのですが、画像の通りになってしまいます
###該当のソースコード
java
1package reidai; 2import java.awt.BorderLayout; 3import java.awt.EventQueue; 4import javax.swing.ButtonGroup; 5import javax.swing.JFrame; 6import javax.swing.JPanel; 7import javax.swing.border.EmptyBorder; 8import javax.swing.JScrollPane; 9import javax.swing.JList; 10import javax.swing.JTextField; 11import java.awt.FlowLayout; 12import javax.swing.JLabel; 13import java.awt.Dimension; 14import javax.swing.JButton; 15import java.awt.event.ActionListener; 16import java.awt.event.ActionEvent; 17import java.io.BufferedReader; 18import java.io.File; 19import java.io.FileReader; 20import java.io.IOException; 21import javax.swing.event.ListSelectionListener; 22import javax.swing.event.ListSelectionEvent; 23import java.awt.GridLayout; 24import java.awt.Component; 25import javax.swing.SwingConstants; 26import javax.swing.ScrollPaneConstants; 27import java.util.ArrayList; 28import java.awt.BorderLayout; 29import java.awt.EventQueue; 30import java.awt.event.ActionEvent; 31import javax.swing.JRadioButton; 32import javax.swing.JComboBox; 33public class Rei4_09 extends JFrame { 34private static final long serialVersionUID = 1L; 35private JPanel contentPane; 36private JPanel panelCenter; 37private JTextField textField01; 38private JTextField textField02; 39private JTextField textField03; 40private JLabel label01; 41private JLabel label02; 42private JScrollPane scrollPane; 43private JList list; 44private JList list1; 45private JLabel label03; 46private JButton button; 47private JPanel panel4; 48private JPanel panel3; 49private JPanel panel2; 50private JPanel panel1; 51private JRadioButton radioButton01; 52private JRadioButton radioButton02; 53private JComboBox comboBox; 54private JRadioButton aBunkabu; 55private JRadioButton aUndoubu; 56private final static int MAX=60; 57private int buinsu[]; 58private int buinsu1[]; 59private String[] aseito=new String[MAX]; 60private String[] bseito=new String[MAX]; 61 62public static void main(String[] args) { 63EventQueue.invokeLater(new Runnable() { 64public void run() { 65try { 66Rei4_09 frame = new Rei4_09(); 67frame.setVisible(true); 68} catch (Exception e) { 69e.printStackTrace(); 70} 71} 72}); 73} 74 75public Rei4_09() { 76 77setTitle("リストとファイル"); 78setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 79setBounds(100, 100, 700,250); 80contentPane = new JPanel(); 81contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); 82contentPane.setLayout(new BorderLayout(0, 0)); 83setContentPane(contentPane); 84panelCenter = new JPanel(); 85contentPane.add(panelCenter, BorderLayout.CENTER); 86panelCenter.setLayout(new GridLayout(2, 1, 0, 0)); 87 88 89panel1 = new JPanel(); 90panel1.setAlignmentY(Component.BOTTOM_ALIGNMENT); 91panelCenter.add(panel1); 92panel1.setLayout(new GridLayout(6, 1, 0, 0)); 93 94label01 = new JLabel("クラブ名"); 95panel1.add(label01); 96label01.setHorizontalAlignment(SwingConstants.LEFT); 97textField01 = new JTextField(); 98panel1.add(textField01); 99textField01.setColumns(10); 100label02 = new JLabel("部員数"); 101label02.setHorizontalAlignment(SwingConstants.LEFT); 102panel1.add(label02); 103textField02 = new JTextField(); 104panel1.add(textField02); 105textField02.setColumns(10); 106 107label03 = new JLabel("クラブ名2"); 108panel1.add(label03); 109label03.setHorizontalAlignment(SwingConstants.LEFT); 110textField03 = new JTextField(); 111panel1.add(textField03); 112textField03.setColumns(10); 113 114panel2 = new JPanel(); 115FlowLayout fl_panel2 = (FlowLayout) panel2.getLayout(); 116fl_panel2.setAlignment(FlowLayout.RIGHT); 117panelCenter.add(panel2); 118radioButton01 = new JRadioButton("運動部"); 119 radioButton01.addActionListener(new ActionListener() { 120 public void actionPerformed(ActionEvent e) { 121 ArrayList<String> tmpAL=new ArrayList<String>(MAX); 122 buinsu=new int[MAX]; 123 int i=0; 124 File fl = new File("./undoubu.txt"); 125 try{ 126 BufferedReader br = new BufferedReader(new FileReader(fl)); 127 String cItem; 128 while((cItem=br.readLine())!=null && i<MAX){ 129 tmpAL.add(cItem); 130 if((cItem=br.readLine())==null) 131 break; 132 buinsu[i]=Integer.parseInt(cItem); 133 i++; 134 } 135 br.close(); 136 }catch(IOException fe){ 137 textField01.setText(fe.toString()); 138 } 139 140 tmpAL.trimToSize(); 141 list.setListData(tmpAL.toArray(new String[tmpAL.size()])); 142 String[] tmpS=tmpAL.toArray(new String[tmpAL.size()]); 143 String suuA; 144 int suuB; 145 for(int j=0;j<i-1;j++){ 146 for(int k=j+1;k<i;k++){ 147 if(buinsu[j]<buinsu[k]){ 148 suuB=buinsu[j]; 149 buinsu[j]=buinsu[k]; 150 buinsu[k]=suuB; 151 suuA=tmpS[j]; 152 tmpS[j]=tmpS[k]; 153 tmpS[k]=suuA; 154 } 155 } 156 } 157 } 158 }); 159 panelCenter.add(radioButton01); 160 161 radioButton02 = new JRadioButton("文化部"); 162 radioButton02.addActionListener(new ActionListener() { 163 public void actionPerformed(ActionEvent e) { 164 ArrayList<String> tmpAL=new ArrayList<String>(MAX); 165 buinsu=new int[MAX]; 166 int i=0; 167 File fl = new File("./bunkabu.txt"); 168 try{ 169 BufferedReader br = new BufferedReader(new FileReader(fl)); 170 String cItem; 171 while((cItem=br.readLine())!=null && i<MAX){ 172 tmpAL.add(cItem); 173 if((cItem=br.readLine())==null) 174 break; 175 buinsu[i]=Integer.parseInt(cItem); 176 i++; 177 } 178 br.close(); 179 }catch(IOException fe){ 180 textField01.setText(fe.toString()); 181 } 182 183 tmpAL.trimToSize(); 184 list.setListData(tmpAL.toArray(new String[tmpAL.size()])); 185 String[] tmpS=tmpAL.toArray(new String[tmpAL.size()]); 186 String suuA; 187 int suuB; 188 for(int j=0;j<i-1;j++){ 189 for(int k=j+1;k<i;k++){ 190 if(buinsu[j]<buinsu[k]){ 191 suuB=buinsu[j]; 192 buinsu[j]=buinsu[k]; 193 buinsu[k]=suuB; 194 suuA=tmpS[j]; 195 tmpS[j]=tmpS[k]; 196 tmpS[k]=suuA; 197 } 198 } 199 } 200 201 } 202 }); 203 204 panelCenter.add(radioButton02); 205
画像が例外のスタックトレースのようですが、肝心の例外クラスが見えません。この上の行はありませんか?