我最近开始在学校用Java编程,最近的一次练习遇到了一些问题。
我目前有一个对象电话,可以是手机号码,也可以是固定电话。 现在我想创建另一个包含联系人详细信息的类。在这些联系方式中,应该有两个电话对象:一个手机号码(gsm)和一个座机号码(电话号码)。电话号码在班上宣布。
我的问题是我应该如何更改ContactDetails类的初始化,以接受两个新的Telephone对象。而那正是我在那里做错了。
提前感谢!
public class Telephone {
private String sort;
public String number;
public Telephone(String sort, String number) {
this.sort = sort;
this.number = number;
}
public String getSort() {
return sort;
}
public String getNumber() {
return number;
}
public boolean isValidnumber(){
if(number.startsWith("0")) {
if (getSort() == "landline" && number.length() == 9) {
return true;
} else if (getSort() == "mobile" && number.length() == 10) {
return true;
} else return false;
}
else return false;
}
}
public class ContactDetails {
private String eMail;
Telephone telephone = new Telephone("landline", Telephone.number);
Telephone gsm = new Telephone("mobile", Telephone.number);
public ContactDetails(String eMail, Telephone telephone, Telephone gsm){
this.eMail = eMail;
this.telephone = telephone;
this.gsm = gsm;
}
}
答案 0 :(得分:1)
这里有两个问题:
初始化Telephone
gsm时,您无法将其声明为Telefoon
,因为该类不存在
您必须使用数字字符串初始化电话。 Telephone.number
指的是number
对象的Telephone
字符串,由于您刚刚初始化Telephone
,因此该字符串尚不存在。
为了使这两项工作正常,请将Telephone
中ContactDetails
的2个初始化更改为以下内容:
Telephone telephone = new Telephone("landline", "5555555555");
Telephone gsm = new Telephone("mobile", "5555555555");