如何创建与其他创建的类相关的方法

时间:2018-03-20 18:12:22

标签: java

我有两个班级(人员和付款),我很难与他们沟通。 那么你能告诉我如何编写一个方法进程来检查给定的人是否存在?另外,我不明白我应该如何从cmd获取信息并在main方法中调用creatPeople和process方法。

class Person {

    private String name;
    private String surname;
    private double salary;



    boolean adjustSalary(double money, String type) {
        if (type.equals("+")) {
            salary = salary + money;
            return true;
        } else if (type.equals("-")) {
            if (salary > 0) {
                salary = salary - money;
                return true;
            }
        } else
            System.out.println("Wrong adjustment type!");
        return false;
    }



}

class Payment {
    static Person[] people;
    static int success = 0;
    static int fail = 0;

    static void createPeople(String[][] personInfo) {
        people = new Person[personInfo.length];
        for (int i = 0; i < personInfo.length; i++) {
            Person x = new Person();
            people[i] = x;
        }
    }

    static void process(String[] Info) {
        Person obj = new Person();
        System.out.println(obj.adjustSalary);
        if (obj.adjustSalary == true)
            success++;
        else
            fail++;
    }

    public static void main(String[] args) {

    }
}

2 个答案:

答案 0 :(得分:1)

您可以使用名为composition的过程。这就是为什么一个object1必须在其构造函数中有另一个object2实例才能创建object1,你必须确保你有一个object2! Lmk如果这有帮助

答案 1 :(得分:0)

您的Person类必须提供对其成员的访问权限。你必须实现getter和setter。 e.g:

public void setName(String name){
   this.name = name; 
}

public String getName(){
   return this.name;
}

setSurname(String surname){
   this.surname = surname; 
}

public String getSurname(){
   return this.surname;
}

...

在您的Payment类中,输入以下方法:

static boolean personIsKnown(Person person) {
    boolean found = false;

    for(Person _person: people){
        if(_person.getName().toUpperCase().equals(person.getName().toUpperCase()) &&
           _person.getSurname().toUpperCase().equals(person.getSurname().toUpperCase())) {

           found = true;
           break;
       }
    }

    return found;
}

每当你现在调用personIsKnown()时,你都可以知道你的数组中是否存在某个人。

这只是一个开始。