作者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)
推 hate9527:LIST 04/20 12:38
推 superlubu:java.util.ArrayList 04/20 12:47
※ 編輯: leifjason 來自: 169.229.53.37 (04/20 12:52)
推 Puser:也可能用到string.split()與 float.valueof() 04/20 13:16
推 Puser:動態陣列自已做會用到arrays.copyof() 04/20 13:43