问题描述
- 求解Java语句错在哪儿?
-
在一个类中定义了一个全局变量telephoneNumber,通过set与get赋值,通过scanner进行键盘输入,代码如下:![图片说明](http://img.ask.csdn.net/upload/201511/09/1447071827_916266.png) 但运行结果却是下面这样是怎么回事?![图片说明](http://img.ask.csdn.net/upload/201511/09/1447071913_529834.png) 求详解
解决方案
直接用String作为电话号码不是挺好,然后用正则表达式验证是否为电话号码。
改成String:
member_telephone_number
解决方案二:
telephone_number是一个数组,不能直接和字符串相加,可以改成”会员电话号码“+Arrays.toString(member[i].getMember_teleohone_number());
解决方案三:
你的代码不全吧,还有一些自定义的方法,看不到,了解不到运行流程
看你输出的结果,不难判断:
你输出的是引用类型的引用,不是String型
你应该在存号码时,把完整的字符串给member[i],在那个类里,电话号码的数据类型应该是String
怀疑你的数据结构不妥
解决方案四:
1、当你调用:
System.out.println("会员电话号码:"+member[i].getMember_telephone_number());
相当于执行的是:
System.out.println("会员电话号码:"+member[i].getMember_telephone_number().toString());
2、但是为什么toString()方法不会输出电话号码呢?因为你用了数组int[] array; 来存储号码,而array.toString(); 输出的是类的信息,不是包含的数据内容。
你可以运行如下代码看看:
public static void main(String[] args) throws IOException {
int[] a = new int[]{1,2,3};
System.out.println(a);
System.out.println(a.toString());
}
3、所以,System.out.println("会员电话号码:"+member[i].getMember_telephone_number()); 并不会输出电话号码,而是类的信息:[I@ecd7e...]。
时间: 2024-09-20 00:23:00