###前提・実現したいこと
ここに質問したいことを詳細に書いてください
javaで部活動の名前と部員数が記録されているファイルを読み込み、部活動の名前をリストに表示し、クリックすると選択した部活動の部員数をテキストフィールドに表示するプログラムです。
以前回答してもらいましたが、なかなか思うような結果になりません
前回の質問
ファイルを読み込む機能を実装中に以下のエラーメッセージが発生しました。
###発生している問題・エラーメッセージ
このようなエラーが出ました
Rei4_09.java:140: エラー: 変数cItemは初期化されていない可能性があります
while(cItem==null && i<MAX){
^
注意:Rei4_09.javaの操作は、未チェックまたは安全ではありません。
注意:詳細は、-Xlint:uncheckedオプションを指定して再コンパイルしてください。
エラー1個
###該当のソースコード
java
1package reidai; 2 3import java.awt.BorderLayout; 4import java.awt.EventQueue; 5 6import javax.swing.ButtonGroup; 7import javax.swing.JFrame; 8import javax.swing.JPanel; 9import javax.swing.border.EmptyBorder; 10import javax.swing.JScrollPane; 11import javax.swing.JList; 12import javax.swing.JTextField; 13import java.awt.FlowLayout; 14import javax.swing.JLabel; 15import java.awt.Dimension; 16import javax.swing.JButton; 17import java.awt.event.ActionListener; 18import java.awt.event.ActionEvent; 19import java.io.BufferedReader; 20import java.io.File; 21import java.io.FileReader; 22import java.io.IOException; 23import javax.swing.event.ListSelectionListener; 24import javax.swing.event.ListSelectionEvent; 25import java.awt.GridLayout; 26import java.awt.Component; 27import javax.swing.SwingConstants; 28import javax.swing.ScrollPaneConstants; 29import java.util.ArrayList; 30import java.awt.BorderLayout; 31import java.awt.EventQueue; 32import java.awt.event.ActionEvent; 33import javax.swing.JRadioButton; 34import javax.swing.JComboBox; 35 36public class Rei4_09 extends JFrame { 37 38 private static final long serialVersionUID = 1L; 39 private JPanel contentPane; 40 private JPanel panelCenter; 41 private JTextField textField01; 42 private JTextField textField02; 43 private JTextField textField03; 44 private JLabel label01; 45 private JLabel label02; 46 private JScrollPane scrollPane; 47 private JList list; 48 private JList list1; 49 private JLabel label03; 50 private JButton button; 51 private JPanel panel4; 52 private JPanel panel3; 53 private JPanel panel2; 54 private JPanel panel1; 55 private JRadioButton radioButton01; 56 private JRadioButton radioButton02; 57 private JComboBox comboBox; 58 private JRadioButton aBunkabu; 59 private JRadioButton aUndoubu; 60 private final static int MAX=60; 61 private int buinsu[]; 62 private int buinsu1[]; 63 64 private String[] aseito=new String[MAX]; 65 private String[] bseito=new String[MAX]; 66 67 public static void main(String[] args) { 68 EventQueue.invokeLater(new Runnable() { 69 public void run() { 70 try { 71 Rei4_09 frame = new Rei4_09(); 72 frame.setVisible(true); 73 } catch (Exception e) { 74 e.printStackTrace(); 75 } 76 } 77 }); 78 } 79 80 81 public Rei4_09() { 82 83 setTitle("リストとファイル"); 84 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 85 setBounds(100, 100, 700,250); 86 contentPane = new JPanel(); 87 contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); 88 contentPane.setLayout(new BorderLayout(0, 0)); 89 setContentPane(contentPane); 90 91 panelCenter = new JPanel(); 92 contentPane.add(panelCenter, BorderLayout.CENTER); 93 panelCenter.setLayout(new GridLayout(2, 1, 0, 0)); 94 95 96 panel1 = new JPanel(); 97 panel1.setAlignmentY(Component.BOTTOM_ALIGNMENT); 98 panelCenter.add(panel1); 99 panel1.setLayout(new GridLayout(6, 1, 0, 0)); 100 101 label01 = new JLabel("クラブ名"); 102 panel1.add(label01); 103 label01.setHorizontalAlignment(SwingConstants.LEFT); 104 105 textField01 = new JTextField(); 106 panel1.add(textField01); 107 textField01.setColumns(10); 108 109 label02 = new JLabel("部員数"); 110 label02.setHorizontalAlignment(SwingConstants.LEFT); 111 panel1.add(label02); 112 113 textField02 = new JTextField(); 114 panel1.add(textField02); 115 textField02.setColumns(10); 116 117 label03 = new JLabel("クラブ名2"); 118 panel1.add(label03); 119 label03.setHorizontalAlignment(SwingConstants.LEFT); 120 121 textField03 = new JTextField(); 122 panel1.add(textField03); 123 textField03.setColumns(10); 124 125 panel2 = new JPanel(); 126 FlowLayout fl_panel2 = (FlowLayout) panel2.getLayout(); 127 fl_panel2.setAlignment(FlowLayout.RIGHT); 128 panelCenter.add(panel2); 129 130 radioButton01 = new JRadioButton("運動部"); 131 radioButton01.addActionListener(new ActionListener() { 132 public void actionPerformed(ActionEvent e) { 133 ArrayList<String> tmpAL=new ArrayList<String>(MAX); 134 buinsu=new int[MAX]; 135 int i=0; 136 File fl = new File("./undoubu.txt"); 137 try{ 138 BufferedReader br = new BufferedReader(new FileReader(fl)); 139 String cItem; 140 while(cItem==null && i<MAX){ 141 tmpAL.add(cItem); 142 if(cItem==null) 143 break; 144 buinsu[i]=Integer.parseInt(cItem); 145 i++; 146 } 147 br.close(); 148 }catch(IOException fe){ 149 textField01.setText(fe.toString()); 150 } 151 152 tmpAL.trimToSize(); 153 list.setListData(tmpAL.toArray(new String[tmpAL.size()])); 154 String[] tmpS=tmpAL.toArray(new String[tmpAL.size()]); 155 String suuA; 156 int suuB; 157 for(int j=0;j<i-1;j++){ 158 for(int k=j+1;k<i;k++){ 159 if(buinsu[j]<buinsu[k]){ 160 suuB=buinsu[j]; 161 buinsu[j]=buinsu[k]; 162 buinsu[k]=suuB; 163 suuA=tmpS[j]; 164 tmpS[j]=tmpS[k]; 165 tmpS[k]=suuA; 166 } 167 } 168 } 169 } 170 }); 171 panelCenter.add(radioButton01); 172 173 radioButton02 = new JRadioButton("文化部"); 174 radioButton02.addActionListener(new ActionListener() { 175 public void actionPerformed(ActionEvent e) { 176 ArrayList<String> tmpAL=new ArrayList<String>(MAX); 177 buinsu1=new int[MAX]; 178 int i=0; 179 File fl = new File("./bunkabu.txt"); 180 try{ 181 BufferedReader br = new BufferedReader(new FileReader(fl)); 182 String cItem ; 183 while((cItem=br.readLine())!=null && i<MAX){ 184 tmpAL.add(cItem); 185 if(cItem==null) 186 break; 187 buinsu1[i]=Integer.parseInt(cItem); 188 i++; 189 } 190 br.close(); 191 }catch(IOException fe){ 192 textField03.setText(fe.toString()); 193 } 194 195 tmpAL.trimToSize(); 196 list.setListData(tmpAL.toArray(new String[tmpAL.size()])); 197 String[] tmpS1=tmpAL.toArray(new String[tmpAL.size()]); 198 String suu1; 199 int suu2; 200 for(int j=0;j<i-1;j++){ 201 for(int k=j+1;k<i;k++){ 202 if(buinsu1[j]<buinsu1[k]){ 203 suu2=buinsu1[j]; 204 buinsu1[j]=buinsu1[k]; 205 buinsu1[k]=suu2; 206 suu1=tmpS1[j]; 207 tmpS1[j]=tmpS1[k]; 208 tmpS1[k]=suu1; 209 } 210 } 211 } 212 213 } 214 }); 215 216 panelCenter.add(radioButton02); 217 218 219 220 ButtonGroup bGroup=new ButtonGroup(); 221 bGroup.add(radioButton01); 222 bGroup.add(radioButton02); 223 bGroup.add(aUndoubu); 224 bGroup.add(aBunkabu); 225 226 scrollPane = new JScrollPane(); 227 scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS); 228 scrollPane.setPreferredSize(new Dimension(120, 2)); 229 contentPane.add(scrollPane, BorderLayout. WEST); 230 231 list = new JList(); 232 list.addListSelectionListener(new ListSelectionListener() { 233 public void valueChanged(ListSelectionEvent e) { 234 textField01.setText((String)list.getSelectedValue()); 235 textField02.setText(String.valueOf(buinsu[list.getSelectedIndex()])); 236 } 237 }); 238 scrollPane.setViewportView(list); 239 } 240 241} 242
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/11/25 06:34
退会済みユーザー
2016/11/25 07:34
2016/11/25 07:52