作者leifjason (我的黑色翅膀~少爷)
看板java
标题[问题] C改写成Java时动态宣告array问题
时间Mon Apr 20 12:24:12 2009
请教一下
我正再将一个C程式改写成Java
C程式中有行动态宣告Array的程式码
double* et= (double*)malloc(sizeof(double)*ARRAYSIZE);
想请教一下Java是否也有这样的功能呢?
--------程式码说明---------
原本在C程式中~我们会输入一个1.txt的档案
内容都是数字(float)~输入後
资料要摆进去一个名为et 的array
但因为所读取的档案内容资料量不明~所以采用动态宣告阵列的方式~
程式码的ARRAYSIZE也只是给予颇大的值以应付未知的档案资料量~
目前改写成Java时我采用了土法炼钢的方式~先扫描一次1.txt计算资料量
再将资料量assign给ARRAYSIZE随即产生et 接着再读一次档案摆入资料~~
try//先读一次计算档案资料量
{
Scanner count = new Scanner(new File("1.txt"));
while(count.hasNextDouble())
{
double cc = count.nextDouble();
ARRAYSIZE++;
}
}
catch(FileNotFoundException eee)
{
eee.printStackTrace();
}
double[] et = new double[ARRAYSIZE]; //产生et array
try//再读一次并将档案放入et
{
Scanner input = new Scanner(new File("1.txt"));
while(input.hasNextDouble())
{
double d = input.nextDouble();
et[nData]=d;
nData++;
}
}
catch(FileNotFoundException e1)
{
e1.printStackTrace();
}
-------------------------------------------------------------------
希望能知道怎麽改写~感谢大家的帮忙~
第一次碰Java请鞭小力点
--
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 169.229.53.37
※ 编辑: leifjason 来自: 169.229.53.37 (04/20 12:35)
1F:推 hate9527:LIST 04/20 12:38
2F:推 superlubu:java.util.ArrayList 04/20 12:47
※ 编辑: leifjason 来自: 169.229.53.37 (04/20 12:52)
3F:推 Puser:也可能用到string.split()与 float.valueof() 04/20 13:16
4F:推 Puser:动态阵列自已做会用到arrays.copyof() 04/20 13:43