62,614
社区成员
发帖
与我相关
我的任务
分享
public class phonenumber{
private int areacode;
private int number;
private int ext;
phonenumber(){
areacode=0;
number=0;
ext=0;
}
phonenumber(int newnumber){
areacode=216;
newnumber=number;
ext=0;
}
phonenumber(int newareacode, int newnumber, int newext){
newareacode=areacode;
newnumber=number;
newext=ext;
}
phonenumber(String newnumber){
ext=0;
String[] str=newnumber.split("-");
StringBuilder nun=new StringBuilder();
for(int i=0; i<7; i++){
char c=str[1].charAt(i);
if (!((c <=90 && c>=65)||(c>=48 && c<=57))){
invalid=true;
return;
}
if(c<=90 && c>=65){
nun.append(decode(c));
}else
{nun.append(c);}
}
number=Integer.parseInt(nun.toString());
areacode=Integer.parseInt(str[0]);
}
private String decode(char c){
switch (c){
case 'A': case 'B': case 'C': return "2";
case 'D': case 'E': case 'F': return "3";
case 'G': case 'H': case 'I': return "4";
case 'J': case 'K': case 'L': return "5";
case 'M': case 'N': case 'O': return "6";
case 'P': case 'Q': case 'R': case 'S': return "7";
case 'T': case 'U': case 'V': return "8";
case 'W': case 'X': case 'Y': case 'Z': return "9";
default:return "";
}}
public boolean equals(phonenumber pn){
return (areacode==pn.areacode && number==pn.number && ext==pn.ext);
}
public String toString(){
if(ext==0){
return areacode+"-"+number;
}else{
return areacode+"-"+number+" ext "+ext;
}
}}
public class phone {
public static void main (String[] args) {
phonenumber mynumber = new phonenumber("800-GOFEDEX");
System.out.println("the number is: " + mynumber);
phonenumber mynumber2 = new phonenumber("800-46FEDEX");
System.out.println("the number is: " + mynumber2);
phonenumber mynumber3 = new phonenumber("800-&*(^&%@");
System.out.println("the number is: " + mynumber3);
mynumber = new phonenumber(800, 1234567, 123);
System.out.println("the number is: " + mynumber);
mynumber2 = new phonenumber(7654321);
System.out.println("the number is: " + mynumber2);
if (mynumber.equals(mynumber2))
System.out.println("mynumber and mynumber2 are the same");
else
System.out.println("mynumber and mynumber2 are different");
mynumber = new phonenumber();
System.out.println("the number is: " + mynumber);
}
}