【JAVA小白】 在类的方法中用Arrays.toString()输出打印字符串出错

代码如下:

package com;

import java.util.Arrays;

public class Point {
    
    double[] xyz = new double[3];
    
    public double[] creatPoint (double x, double y, double z) {
        xyz[0] = x;
        xyz[1] = y;
        xyz[2] = z;
        return xyz;
    }
    
    public double distencePoint() {
        
        double a = Math.pow(xyz[0],2) +Math.pow(xyz[1],2) + Math.pow(xyz[2],2);
        double b = 1/2;
        double distence = Math.pow(a,b);
        
        return distence;
    }
    
    public String showPoint() {
        String xyz = Arrays.toString(xyz);  //这个地方,用Arrays.toString 输出一个数组的String,报错
    return xyz;
    }
    
}

代码中备注位置,我为什么无法打印我的数组呢?系统的报错我没看懂。
Arrays.toString(xyz) 不应该就是把数组转换成字符串么 我输出字符串为什么不可以呢?

阅读 4.1k
2 个回答
public String showPoint() {
    String 这里不要用xyz = Arrays.toString(xyz);
    return 这里不要用xyz;
}
新手上路,请多包涵

根据Java的语法,变量的作用域遵从就近原则。String xyz = Arrays.toString(xyz)声明了局部变量xyz,在局部区域内,未声明的局部变量xyz把对象成员变量xyz覆盖了,所以在调用toString()方法时出现变量未初始化。可以使用this关键字,修改为String xyz = Arrays.toString(this.xyz)

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题