求解Java语句错在哪儿?

在一个类中定义了一个全局变量telephoneNumber,通过set与get赋值,通过scanner进行键盘输入,代码如下:![图片说明](https://img-ask.csdn.net/upload/201511/09/1447071827_916266.png)
但运行结果却是下面这样是怎么回事?![图片说明](https://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...]。