Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我希望,当在员工_地址中输入的是Banglore且工资超过25000时,我可以获得员工的所有详细信息_Java_String_If Statement_Boolean - Fatal编程技术网

Java 我希望,当在员工_地址中输入的是Banglore且工资超过25000时,我可以获得员工的所有详细信息

Java 我希望,当在员工_地址中输入的是Banglore且工资超过25000时,我可以获得员工的所有详细信息,java,string,if-statement,boolean,Java,String,If Statement,Boolean,我已经写了这段代码,但当我输入Banglore和26000时,它并没有返回所需的条件 当员工地址为Banglore且工资超过25000时,我希望获得所有员工详细信息 import java.util.Scanner; public class ContactManager { public static void main(String[] args) { // TODO Auto-generated method stub @SuppressWar

我已经写了这段代码,但当我输入Banglore和26000时,它并没有返回所需的条件

当员工地址为Banglore且工资超过25000时,我希望获得所有员工详细信息

import java.util.Scanner;

public class ContactManager {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        @SuppressWarnings("resource")
        Scanner s=new Scanner(System.in);

        int employee_id;
        String employee_name;
        String address;
        int mobile;
        int salary;
        String q;

        System.out.println("empolyee_id:");
        employee_id=s.nextInt();

        System.out.println("employee_name:");
        employee_name=s.next();

        System.out.println("mobile:");
        mobile=s.nextInt();

        System.out.println("address:");
        address=s.next();

        System.out.println("salary:");
        salary=s.nextInt();

        q = "Banglore";

        if(address==q && salary > 25000) {
            System.out.println(employee_name);
            System.out.println(employee_id);
            System.out.println(address);
            System.out.println(mobile);
            System.out.println(salary);
        } else {
            System.out.println("Sorry");
        }
    }
}

必须使用equals方法比较字符串

==测试它们是否为同一对象的引用相等性

.equals测试值是否相等,逻辑上是否相等

变量String address和String q=Banglore不是相同的对象,因此address==q返回false


在ifq.equalsaddress&salary>25000上替换ifaddress==q&&salary>25000,如果address.equalsq&&salary>25000,你可以使用它来代替ifaddress==q&&salary>25000,那么它应该可以工作。

如果我在其中创建一个对象和这个字符串值,然后使用address==这个对象,它会工作吗?对象类的实例还是什么?对象类的实例obIf q和ob.address具有相同的引用,ob.address==q返回true。比较两个字符串的最简单方法是使用类似于q.equalsaddress的代码。我已经写过了。在Java中,==运算符通过引用检查相等性。在这种情况下,q和地址将不匹配。您希望使用equals方法:address.equalsq。还可以考虑在比较之前将字符串转换为小写或小写。