1

单击按钮时,“x”值存储在数组 [0] [0] 中。但是在检查方法中,for 循环中的 if 语句都在执行,我不知道为什么条件正在执行。所以我在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;
}

}

4

1 回答 1

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]))
于 2013-02-26T08:34:11.630 回答