不知道为什么条件在android中执行for语句

时间:2013-02-26 08:22:48

标签: android

单击按钮,'x'值存储在数组[0] [0]中。但是在check方法中,for循环中的if语句都是exicuting,我不知道为什么条件是exicuting。 所以我在if语句中放了一个对话框,而我将数组[0] [0]给了setMessage 它打印“x”,但如果我给出数组[i] [j]它打印空值,即使i和j值都为零。 我不知道是什么问题。

package com.example.tictactoe3;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.app.AlertDialog;

public class MainActivity extends Activity {

String array[][]=new String[3][3];

void check(String array[][])
{
    int i=0,j=0;
    for(i=0;i<3;i++)
    {
        for(j=0;j<1;j++)
        {
            if(array[i][j]==array[i][j+1])
            {
                if(array[i][j]==array[i][j+2])
                {
                    AlertDialog.Builder dlgAlert  = new AlertDialog.Builder(this);

                    dlgAlert.setMessage(array[0][0]);
                    dlgAlert.setTitle("Tic Tac Toe");
                    dlgAlert.setPositiveButton("OK", null);
                    dlgAlert.setCancelable(true);
                    dlgAlert.create().show();
                }
            }
        }
    }
}

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    final Button bt1= (Button) findViewById(R.id.button1);
    bt1.setOnClickListener(new View.OnClickListener() {
        boolean value=true;
        public void onClick(View v) {
            // TODO Auto-generated method stub
            bt1.setText("x");
            array[0][0]="x";
            check(array);
        }
    });
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.activity_main, menu);
    return true;
}

}

1 个答案:

答案 0 :(得分:2)

对于字符串,您应该使用

进行比较
if (strOne.equals(strTwo)) 

if (strOne.equalsIgnoreCase(strTwo)) 

不使用“==”运算符

所以替换

if(array[i][j]==array[i][j+1])

if(array[i][j].equalsIgnoreCae(array[i][j+1]))

if(array[i][j]==array[i][j+2])

if(array[i][j].equalsIgnoreCase(array[i][j+2]))