我有两个班级(人员和付款),我很难与他们沟通。 那么你能告诉我如何编写一个方法进程来检查给定的人是否存在?另外,我不明白我应该如何从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) {
}
}
答案 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()时,你都可以知道你的数组中是否存在某个人。
这只是一个开始。