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);
}
}
打印时数组C显示00为什么i和j的值没有进入数组可能是什么问题
答案 0 :(得分:9)
x
是一个字符串。您无法使用==
来测试字符串上的相等性。
您想要使用x.equals("aa")
。如果x
为null,则可以改为使用"aa".equals(x)
(此表单不会给您NullPointerException)。
答案 1 :(得分:1)
将 if语句更改为:
if("aa".equals(x){
c[0]=i;//values here are not getting into array c//
c[1]=j;
}
使用String.equals(other String)
函数比较字符串,而不是==
运算符。
该函数检查字符串的实际内容,==
运算符检查对象的引用是否相等。