D.B*_*D.B -1 java arrays double tostring
在我的main方法中,我需要打印出在第二个类中创建的两个对象.这是我的代码.
public String toString(){
String z = "";
for(int i = 0; i<data.length;i++){
z = z + data[i] + ", ";
}
return z;
}
Run Code Online (Sandbox Code Playgroud)
我有一个Stat构造函数,它将数组数据设置为调用对象中调用的数组.
public Stat(double[] d){
double[] data = new double[d.length];
this.data = data;
Run Code Online (Sandbox Code Playgroud)
这就是我初始化数据的方式
int i=1;
private double[] data = new double[i];
Run Code Online (Sandbox Code Playgroud)
这是调用类
public static void main(String[] args){
double[] data = {1.0, 2.0, 3.0};
Stat statA = new Stat(data);
data[0] = 3.0;
data[1] = 4.0;
data[3] = 5.0;
Stat statB = new Stat(data);
System.out.println("statA data= " + statA.toString());
System.out.println("statB data= " + statB.toString());
Run Code Online (Sandbox Code Playgroud)
当我运行调试器时,对象包含正确的数据值但是当我调用toString时,它们都打印{0.0,0.0,0.0}
小智 5
这是你的问题:
public Stat(double[] d){
double[] data = new double[d.length];
this.data = data;
Run Code Online (Sandbox Code Playgroud)
您创建的数据数组是新的d.length size数组.在Java中,新分配的内存默认填充为0,所以这就是你在程序中打印出来的原因.
更改该代码,例如:
public Stat(double[] d){
this.data = d;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
120 次 |
| 最近记录: |