2014-04-01 38 views
0

該程序是編寫一個calss PhoneNumber.java 據我所知,我應該測試如果字符串是數字或字母,然後如果它是一個字母它應該被decode(char c)解碼; 但是,我不認爲字符c應該在()之間如果任何人有建議,非常感謝! toString故意留下,因爲我還沒有在程序中得到那麼多。此外,必須保持它的情況'A'格式謝謝可以使用這個解碼(char c)方法的一些幫助

public class PhoneNumber { 

private int areacode; 

private int number; 

private int ext; 



PhoneNumber() { 

areacode = 0; 
number = 0; 
ext = 0; 

} 



PhoneNumber(int newnumber) { 

areacode = 216; 

number = newnumber; 
ext = 0; 

} 



PhoneNumber(int newarea, int newnumber, int newext) { 

areacode = newarea; 
number = newnumber; 
ext = newext; 

} 



PhoneNumber(String newnumber) { 
String areacode = str[0]; 
String number = str[1]; 
String[] str = newnumber.split("-"); 
String[] number = newnumber; 

boolean b1, b2; 
int i = 0; 
int place = 0; 
for (int x: newnumber){ 
    newnumber.charAt[i] = place; 
    b1 = Character.isDigit(place); 
    if (b1 == true){ 
    number = place; 
    i++; 
} else { 
    b2 = Character.isLetter(place); 
} if (b2 == true) { 
    number = decode(place); 
    i++; 
} else { 
    System.out.print("invalid phone number!"); 
} 
} 

System.out.print(areacode.concat(number)); 
return newnumber; 
} 



private String decode(place) { 

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) { 



} 



public String toString() { 



} 



} 

G:\CIS260\Assignments>javac PhoneNumber.java 
PhoneNumber.java:53: error: <identifier> expected 
private String decode(place) { 
         ^
1 error 
+0

檢查你的大括號。他們似乎不匹配。另外,toString需要返回一些東西。另外,如果你還沒有聲明一個String [] str,str [0]沒有任何意義。你只需要看一下每個錯誤的時間 –

+0

非常感謝!不勝感激 – user3483201

回答

0

在構造函數中,你需要聲明數組之前,你把它的東西。你也不能說String[] number = newnumber,因爲號碼是String[],新號碼是Stringequals()toString()需要返回一些東西。而且,要回答你的問題,只需說

private String decode(char c){