【发布时间】:2014-08-01 12:29:43
【问题描述】:
public class PhoneNumber {
private int areacode;
private int number;
private int ext;
//intitialize data field
PhoneNumber() {
int areacode=0;
int number=0;
int ext=0;
//if no arguements are given set all identifiers to 0
}
PhoneNumber(int number) {
int areacode=0;
int ext=0;
//if number arguement is given initialize it caller value and set ext and areacode to 0
}
PhoneNumber(int newarea,int newnumber,int newext) {
//initialize all identifiers to value passed by caller
}
PhoneNumber(String newnumber) {
//implement if caller provides String value
String str[]=newnumber.split("-");
//split string at point when - symbol is seen
str[0]=newnumber.substring(0,4);
//set str[0] to first 3 charchters of String
str[1]=newnumber.substring(5,12);
//set str[1] to last 6 charchters of string
int areacode=Interger.parseInt(str[0]);
//convert str[0] to interger and set value equal to areacode
String tempstring;
// creat string called tempstring
for (int i=0;i<str[1].length;i++) {
//if i is less than length of str[1] continue loop
if (str[1].charAT(i).matches("1"||"2"||"3"||"4"||"5"||"6"||"7"||
"8"||"9"||"0"||'A'||'B'||'C'||'D'||'E'||'F'||'H'||
'I'||'J'||'K'||'L'||'M'||'N'||'O'||'P'||'Q'||'R'||'S'||
'T'||'U'||'V'||'W'||'X'||'Y'||'Z'))
//if charchter identified at a point on str[1] is either a capital letter or digit go into if statement
{if (str[1].charAT(i).matches("1"||"2"||"3"||"4"||"5"||"6"||"7"||
"8"||"9"||"0"))
//(nested if statement)check to see if character i is a digit
{tempstring=tempstring.concat(str[1].charAT(i));}
//if i is a digit append it to end of tempstring
else {tempstring=tempstring+decode(str[1].charAT(i));
//if not invoke decode method then append to tempstring
}}
else {Sytem.out.println("error restart program with new input");}
int number=Interger.parseInt(tempstring);
//if charchter is not a letter or digit show error message
}
//method converts from letter to number
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";
// given a certain capitial letter converts to number
default: return"";
//default value returns empty string
}
}
public boolean equals(PhoneNumber pn) {
//reade another phone number passed by called
return this.areacode==pn.areacode && this.number==pn.number && this.ext==pn.ext;
//if phonenumber is identical to previous number show true if not show false
}
public String toString() {
//convert number to string
String number4=new String.valueOf(PhoneNumber pn);
String newnumber[]=number4.split("-");
}
}
}
错误: PhoneNumber.java:46:错误:表达式的非法开始 私有字符串解码(字符 c){ ^
PhoneNumber.java:46: 错误:';'预期的 私有字符串解码(字符 c){ ^
PhoneNumber.java:46: 错误:';'预期的 私有字符串解码(字符 c){ ^
PhoneNumber.java:60:错误:表达式的非法开始 公共布尔等于(电话号码 pn){ ^
PhoneNumber.java:60: 错误:';'预期的 公共布尔等于(电话号码 pn){ ^
PhoneNumber.java:60: 错误:';'预期的 公共布尔等于(电话号码 pn){ ^
PhoneNumber.java:63:错误:表达式的非法开始 公共字符串 toString() { ^
PhoneNumber.java:63: 错误:';'预期的 公共字符串 toString() { ^
PhoneNumber.java:64: 错误: ')' 预期 String number4=new String.valueOf(PhoneNumber pn); ^
PhoneNumber.java:64:错误:表达式的非法开始 String number4=new String.valueOf(PhoneNumber pn); ^
我从大约 30 个错误中得到了它,但我不确定如何解决“非法开始表达”错误。另外,如果您发现代码有任何问题,请随时指出。 谢谢
【问题讨论】:
-
谈论花括号的问题
-
请查看您的帖子,并问自己如果您想帮助某人,您是否希望看到代码。如果你不愿意努力把问题问好,你为什么要指望别人努力回答呢?
标签: java