Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

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);

1

回答

383

閲覧

1件の回答

評価

0

したいことは分かった。聞きたいことは何で、自力でどれだけ調査できたんだ?

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。