質問: tという配列がありまして、tのなかに同じ文字列があればカウント1を増やし、その文字列を消去し、配列をつめるプログラムを作りました。だいたいつめることができましたが、一部同じ文字列が存在していることがあります。なにかまずい点はありますか?教えてください。 int count=1; int ii=0; int j=1; int jj=0; int s; int iii; ・ <中略> ・ while(t[ii]!=null){ iii=ii; while(t[iii+j]!=null){ if (t[iii].equals(t[iii+j])) { //次の配列と同じなら count++; for(s=1;s<=k+1-iii-j;s++){ t[iii+j+jj]=t[iii+j+jj+1]; //配列をつめる jj++; } jj=0; } j++;} j=1; pw.write(t[ii]+","+count + "\n"); ii++; count=1; } pw.close(); }catch( IOException exp ) { System.out.println( "入出力エラーです。" ); } kは配列の数です。t[3]ならk=4です。
回答: Collection使えば。 あと、もう少し人間が読みやすいプログラムを書いたほうがいいよ。