解决方案 »
- 您好!请问在JAVA登录界面中,如何实现当按下“取消”按钮时,退出登录。谢谢!
- 关于毕业设计的问题,请大家帮忙
- 请问JNI应用中,C的结构体在java中就是用class来表现吗?
- servlet中得到的汉字都是编码过的内容,如何处理
- MessageFormat里的模式无法含有单引号吗
- 类型转换问题,求助!!!
- 在java中用正则表达式,匹配所有字符(包括\r, \n)等,总之所有字符,怎么写?
- 用了JBUILDER的布局管理器
- 为什么JBuilder不叫JavaBuilder,and freeJava改名为realJ ???
- 请问各位高手:如何把一个HTML文件转换成纯文本文件?(尽量保证转换后的显示格式)
- Jpanel 自适应大小的问题
- java 枚举 两个数字代表一个字符串
public string toString(){
if(ext==0){
return areacode+"-"+number;
}else{
return areacode+"-"+number+" ext "+ext;
}
}
相信前三个构造函数你都明白是做什么吧,唯一可能有点疑问的就是第四个构造函数吧
第四个构造函数说了什么?
1.将传入的newnumber以'-'为界分割为两部分,1部分是areacode,1部分是number
2.areacode现在是字符串,所以要先将字符串转成int并且对成员赋值,考虑到这块与下面number描述的不同,我认为areacode是不含字母的,代码我就帮你写了,其实就是
areacode = Integer.parseInt(str[0]);
3.转换str[1]为int,现在问题是str[1]包含字母和数字,所以我们需要将字母转成数字,这里你们老师说了,你需要构造一个新的空string来接收转换的结果,并且从左到右的扫描字符串里的每一个字符,如果是字母就用decode转换,是数字就接受,如果字符非法就异常,直到结束
所以过程就是
String temp;
for(char c : str[1].toCharArray()){
if(c不合法) //report error
if(c的asc码值在[a-zA-Z]认为c是字母){
//temp接受转换后的字符
}else{
//认为该字符是数字
//temp直接接收字符
}
}
number = 转成int的temp;//赋值另外的什么equals方法也好好看注释,都是一回事