搞错了dA[aA][bB]=new Double(rD.nextDouble());
应为dA[i][ii]=new Double(rD.nextDouble());
应为dA[i][ii]=new Double(rD.nextDouble());
解决方案 »
- 使用TreeSet的时候有必要重写元素的equals方法么?
- 有对Java3D有了解的人没?问个关于纹理与光照的问题
- java比VC++难在哪里?
- 举一个画直线的例子
- =========我最近问了些问题, 都得到了很好的回答,但是?===========
- 问题很菜,不过,还是想请各位大侠多多指教关于学习java的途径!!!
- 我想测试一下使用整型运算与double型运算的速度快慢
- 在JFrame中加入自定义面板
- 路人甲,你的问题没有解决呀。其他高手请救救火吧
- java文件到exe
- table中有一列数据为Double类型,如何在显示时使此列截取3位小数?
- JAVA平台上有没有类似于M$ BizTalk Server的软件、技术。
我这就去调试!:P
package damc;
import java.util.Random;
public class DAMC
{
Random rD=new Random();
Double[][] dA; void doubleArrayCreat(int aA,int bB)
{
dA=new Double[aA][bB];
for(int i=0;i<dA.length;i++)
{
for(int ii=0;ii<dA[i].length;ii++)
{
dA[i][ii]=new Double(rD.nextDouble());
}
}
} void pA(Object[][] dA)
{
for(int i=0;i<dA.length;i++)
{
for(int ii=0;ii<dA[i].length;ii++)
{
System.out.println(dA[i][ii]);
}
}
} public static void main(String[] args)
{
DAMC abc=new DAMC();
abc.doubleArrayCreat(abc.rD.nextInt()+1,abc.rD.nextInt()+1);
abc.pA(abc.dA);
}
}
但是还是显示:
outofmemoryerror
但是java的数组上限为long呀!
My memory is 1G ddr
整型数的最大值为2的31次方减一,你是随机产生两个整型数abc.rD.nextInt()+1,abc.rD.nextInt()+1作为二维数组的下标,如果这个数是2的20次方,那数组
的元素就是2的20次方乘以2的20次方就是2的40次方,早就超出了整形的定义范围
相比较2的40次方,1g能有多大?
你说得太好了!我怎么没有想到!看来要换2G内存了!:P
package damc;
import java.util.Random;
public class DAMC
{
Random rD=new Random();
Double[][] dA; void doubleArrayCreat(int aA,int bB)
{
dA=new Double[aA][bB];
for(int i=0;i<dA.length;i++)
{
for(int ii=0;ii<dA[i].length;ii++)
{
dA[i][ii]=new Double(rD.nextDouble());
}
}
} void pA(Object[][] dA)
{
for(int i=0;i<dA.length;i++)
{
for(int ii=0;ii<dA[i].length;ii++)
{
System.out.println(dA[i][ii]);
}
}
} public static void main(String[] args)
{
DAMC abc=new DAMC();
abc.doubleArrayCreat(abc.rD.nextInt()%5+1,abc.rD.nextInt()%5+1);
abc.pA(abc.dA);
}
}
dA=new Double[aA][bB];
一行出错
Ok! I will be test this again! thanks!
import java.util.Random;
public class DAMC
{
Random rD=new Random();
Double[][] dA; void doubleArrayCreat(int aA,int bB)
{
dA=new Double[aA][bB];
for(int i=0;i<dA.length;i++)
{
for(int ii=0;ii<dA[i].length;ii++)
{
dA[i][ii]=new Double(rD.nextDouble());
}
}
this.pA(this.dA);
} void pA(Object[][] dA)
{
for(int i=0;i<dA.length;i++)
{
for(int ii=0;ii<dA[i].length;ii++)
{
System.out.println(dA[i][ii]);
}
}
} public static void main(String[] args)
{
DAMC abc=new DAMC();
abc.doubleArrayCreat(Math.abs(rD.nextInt()%5+1),Math.abs(rD.nextInt()%5+1));
}
}
提示出错:
"DAMC.java": Error #: 308 : non-static variable rD cannot be referenced from a static context at line 35, column 35
"DAMC.java": Error #: 308 : non-static variable rD cannot be referenced from a static context at line 35, column 62
问题已解决!
散分快乐!哈哈!
现将源代码公布如下:
package damc;
import java.util.Random;
public class DAMC
{
Random rD=new Random();
Double[][] dA; void doubleArrayCreat(int aA,int bB)
{
dA=new Double[aA][bB];
for(int i=0;i<dA.length;i++)
{
for(int ii=0;ii<dA[i].length;ii++)
{
dA[i][ii]=new Double(rD.nextDouble());
}
}
this.pA(this.dA);
} void pA(Object[][] dA)
{
for(int i=0;i<dA.length;i++)
{
for(int ii=0;ii<dA[i].length;ii++)
{
System.out.println(dA[i][ii]);
}
}
} public static void main(String[] args)
{
DAMC abc=new DAMC();
abc.doubleArrayCreat(Math.abs(abc.rD.nextInt()%5+1),Math.abs(abc.rD.nextInt()%5+1));
}
}