2013-02-26 127 views
1

執行for語句點擊'x'值存儲在數組[0] [0]中的按鈕。但是在check方法中,如果for循環中的語句都在執行,我不知道條件爲什麼會出現。 所以我把對話框中的if語句,而我給數組[0] [0] setMessage 它打印「x」,但如果我給數組[i] [j]打印空即使i值和j值都是零值。 我不知道是什麼問題。不知道爲什麼條件在android

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; 
} 

}

+2

嘗試調試你的代碼,它是瞭解哪裏出了問題的最簡單方法。 – Egor 2013-02-26 08:29:18

回答

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])) 
相關問題