搞错了dA[aA][bB]=new Double(rD.nextDouble());
应为dA[i][ii]=new Double(rD.nextDouble());
应为dA[i][ii]=new Double(rD.nextDouble());
解决方案 »
- 请教一个关于java.awt.Image与sun.awt.image.ToolkitImage,java.awt.image.BufferedImage的问题
- 请问html转成pdf的技术
- 如何知道在linux上运行的java程序调用的是哪个fonts的配置文件?
- 如何将Java应用制作成Exe文件。
- 关于e.nextElement()
- 关于DataOutputStream,来个大神指点下
- 高分求答!!!!
- 关于图片上传后的路径问题!急,在线等待!
- mynote中的句子,請問此話怎解?
- 如何比较两个文件的差别,高分相送,如有源程序可给Money!!!
- 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));
}
}