1
import java.util.*;
public class S1 {
     public static void main(String[] args) {
        String twoDm[][]= new String[3][3];
        int i,j;

      int[] c=new int[2];
      //int []d =new int[1];

        Scanner sc=new Scanner(System.in);
      for(i=0;i<3;i++){
          for(j=0;j<3;j++){
              twoDm[i][j]=sc.next();
             String x= twoDm[i][j];
              if(x=="aa"){
                  c[0]=i;//values here are not getting into array c//
                  c[1]=j;

              }

      for(int f:c){
              System.out.println(f);      

          }
      }

The array C while printing shows 00 why are the values of i and j not getting into array what can be the problem

4

2 回答 2

9

x是一个字符串。您不能用于==测试字符串的相等性。

你想用x.equals("aa")改用。如果它x为空,您可以"aa".equals(x)改用(此表单不会给您 NullPointerException)。

于 2013-03-06T05:33:17.180 回答
1

将您的if 语句更改为:

if("aa".equals(x){
     c[0]=i;//values here are not getting into array c//
     c[1]=j;
}

使用String.equals(other String)函数来比较字符串,而不是==运算符。

该函数检查字符串的实际内容,==运算符检查对对象的引用是否相等。

希望能帮助到你..

于 2013-03-06T05:44:29.293 回答