import java.util.*;
public class names {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
String a[]={"a","b","c","d","e","f","g"};
boolean is = false;
System.out.print("请输入:");
String a_1=input.next();
for(int i=0;i<a.length;i++){
if(a[i]==a_1){
is=true;
}
}
System.out.println("通过和数组比较判断真假");
if(is==true){
System.out.println("是真的!");
}else{
System.out.println("是假的!");
}
}
}
为什么每次判断都是 是假的 啊?

解决方案 »

  1.   

    使用equals()方法来判断的啊
    if(a[i].equals(a_1)){
                is=true;
            }
      

  2.   


    import java.util.*;
    public class names {
        public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        String a[]={"a","b","c","d","e","f","g"};
        boolean is = false;
        System.out.print("请输入:");
        String a_1=input.next();
        for(int i=0;i<a.length;i++){
            if(a[i].equals(a_1)){           //
                is=true;
            }
        }
        System.out.println("通过和数组比较判断真假");
        if(is==true){
            System.out.println("是真的!");
        }else{
            System.out.println("是假的!");    
        }
        }两个引用比较的是地址值