1

質疑応答をしています。私の質問はランダムに生成されますが、質問が再び繰り返されます。

int配列がランダムに生成されるときにデータベースとしてtxtファイルを使用すると、所有者はデータベース内の文字列行を取得します。int array = x、および string line = y であるはずです。{y==x}。私の質問は、私が再び質問を生成するときです。

             private void question() {


          InputStreamReader inputStream = new InputStreamReader
            (getResources().openRawResource(R.raw.question1));
            BufferedReader br = new BufferedReader(inputStream);

            ArrayList<Integer> ar= new ArrayList<Integer>();
            int[] number= {1,2,3,4,5,6,7,8,9,10};
            for (int i : number) {
                ar.add(i);


            }

            Random r = new Random();


            int select = r.nextInt(ar.size());
            int random = ar.get(select);
               ar.remove(select);               
            String theLine="";
            int lineCtr = 0;

            try {          

            while ((theLine = br.readLine()) != null)   {

            if (lineCtr == select) {    

        StringTokenizer st = new   StringTokenizer(theLine,",");
            while(st.hasMoreTokens())

        {   

            //reading and getting data from the database","
                         String a = st.nextToken();
                         String b = st.nextToken();
                         String c = st.nextToken();
                         String d = st.nextToken();
                         String e = st.nextToken();
                         String f = st.nextToken();

                         //button setText
                         question.setText(a);
                         ca.setText(f);
                         firstbutton.setText(e);
                         secondbutton.setText(d);
                         thirdbutton.setText(b);
                         fourthbutton.setText(c);
                     //assigning
                         firstholder =e;
                 secondholder =d;
                 thirdholder=b;
                 fourthholder =c;
                break;

                     }

                  }lineCtr++;

            }  


            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } 


}
4

1 に答える 1

0

繰り返される質問の問題を解決するために、以下のコードを試してみてください:-

Collections.shuffle(Arrays.asList(number));
于 2013-01-25T05:50:54.620 に答える