0

Android2.3.3問題は非常に単純です。ループは12回繰り返されていますが、私のロジックでは11回繰り返されるはずです。誰かが問題を見つけてもらえますか...私は何を見落としていますか?

c = db.getData();

if(c.getCount() > 0)
{
    c.moveToFirst();
    System.out.println("Cursor Values are ::: "+c.toString());
    int columCount = c.getColumnCount();
    System.out.println("Column Count is ::: "+columCount);
    boolean isFound = false;


    do
    {
         for(int iteCount = 0; i < columCount; iteCount++)
        {
            System.out.println("Loop ::: "+iteCount);
            String tempString =  c.getString(iteCount);
            System.out.println("Item in TempString is :::"+tempString);

            if(tempString != null && tempString.equalsIgnoreCase(tempCommand))
            {
                    alFirstIndex.remove(0);
                System.out.println(c.getString(c.getColumnIndex("Command")));
               alFirstIndex.add(0, c.getString(c.getColumnIndex("Command")));
                isFound = true;
                break;
            }
        }
        System.out.println("Out of For Loop");

        if(isFound)
        {
           break;
        }

    }while(c.moveToNext());

logcatからの出力は次のとおりです::::

    12-22 09:13:08.219: I/System.out(25300): Column Count is ::: 11
12-22 09:13:08.219: I/System.out(25300): Loop ::: 0
12-22 09:13:08.219: I/System.out(25300): Item in TempString is :::ADD
12-22 09:13:08.219: I/System.out(25300): Loop ::: 1
12-22 09:13:08.219: I/System.out(25300): Item in TempString is :::add
12-22 09:13:08.219: I/System.out(25300): Loop ::: 2
12-22 09:13:08.219: I/System.out(25300): Item in TempString is :::and
12-22 09:13:08.219: I/System.out(25300): Loop ::: 3
12-22 09:13:08.219: I/System.out(25300): Item in TempString is :::had
12-22 09:13:08.219: I/System.out(25300): Loop ::: 4
12-22 09:13:08.219: I/System.out(25300): Item in TempString is :::ad
12-22 09:13:08.219: I/System.out(25300): Loop ::: 5
12-22 09:13:08.219: I/System.out(25300): Item in TempString is :::anddd
12-22 09:13:08.219: I/System.out(25300): Loop ::: 6
12-22 09:13:08.219: I/System.out(25300): Item in TempString is :::anndd
12-22 09:13:08.219: I/System.out(25300): Loop ::: 7
12-22 09:13:08.219: I/System.out(25300): Item in TempString is :::null
12-22 09:13:08.219: I/System.out(25300): Loop ::: 8
12-22 09:13:08.219: I/System.out(25300): Item in TempString is :::null
12-22 09:13:08.219: I/System.out(25300): Loop ::: 9
12-22 09:13:08.219: I/System.out(25300): Item in TempString is :::null
12-22 09:13:08.219: I/System.out(25300): Loop ::: 10
12-22 09:13:08.219: I/System.out(25300): Item in TempString is :::null
12-22 09:13:08.219: I/System.out(25300): Loop ::: 11
12-22 09:13:08.219: E/CursorWindow(25300): Bad request for field slot 0,11. numRows = 18, numColumns = 11

columnCount = 11、ループはで始まり、i = 0反復する必要がi < columCountあります。つまり、11回反復する必要がありますが、なぜFORループに入り、印刷するのですか。Loop ::: 11

4

1 に答える 1

6

ループの中:

for(int iteCount = 0; i < columCount; iteCount++)

あなたは使用する必要はありiteCountませんi

for(int iteCount = 0; iteCount < columCount; iteCount++)
于 2012-12-22T04:02:03.643 に答える