Discussion:
[問題] 建構式傳入資料接收不到....@.@
(时间太久无法回复)
 ο(≧▽≦)ο
2006-12-01 23:52:25 UTC
Permalink
�U���j�j�n...

�p�̼g�F�@�ӵ{��

�Ʊ��b�غc������jxl���Jexcel����

�M���b���L�{���ŧi�}�C ���غc���������ƶǤJ�}�l�@�B��...

�i�O�_�Ǫ��O �}�C�@�����������غc���ǤJ������...

�ЦU���j�j��ڬݬ�... �O���O���̼g���F??? @@


public void trainNetwork() {

for (int x = 0; x < mTrainPoints; x++) {
mTrainPointsArray[x] = new Point(x);
}

....................

public Point(int x) {
try {
Workbook workbook = Workbook.getWorkbook(new File("Book2.xls"));
Sheet sheet=workbook.getSheet("Sheet1");
int row=sheet.getRows();
int col=sheet.getColumns();
float w [] = new float[20];
Cell c0 = null;

for( int i=0 ; i <= col ; i++)
{
c0 = sheet.getCell( i , x); //�Ʊ�x�����W���j�骺x��
//�����D�o�˼g�O�_���T...@@
String s1= c0.getContents();
w [i] =Float.parseFloat(s1);
}
a = w[0];
b = w[1];
c = w[2];
d = w[3];
e = w[4];
f = w[5];
g = w[6];
h = w[7];
i = w[8];
j = w[9];
k = w[10];
l = w[11];
m = w[12];
n = w[13];
o = w[14];
p = w[15];

} catch (Exception e) {
System.err.println(e.getMessage());
} // catch
}

��ЦU���j�j���� <(_ _)>


--

~*~ �U ~*~ �G ~*~ �h ~*~ ǧ ~*~ �� ~*~ ǻ ~*~ �� ~*~ �� ~*~ �� ~*~

���L�� �� ������ �T ������ �� ������ �H ������ �� ���L���

--
�� �o�H��: ���������~�{(ptt.cc)
�� From: 203.73.170.128
 ο(≧▽≦)ο
2006-12-02 01:01:55 UTC
Permalink
�� �аݤj�j ����ӫ����g�~���O???

�����g�� public Point(int x)

�O��???

�i�O�ڧƱ��b

for (int x = 0; x < mTrainPoints; x++) {
mTrainPointsArray[x] = new Point(x);
}

Ū�����ɭ� mTrainPointsArray[0] �i�H����

for( int i=0 ; i <= col ; i++)
{
c0 = sheet.getCell( i , 0 );
String s1= c0.getContents();
w [i] =Float.parseFloat(s1);
}

mTrainPointsArray[1] �i�H���� c0 = sheet.getCell( i , 1 );

�H������...

�H�o�Ӥ��k�S���k�@����??? @@

����ӫ����@�� �i�H���ڭӴ��ܶ�...~"~

�� �ޭz�***@bbs.sayya.org (foolish)�n���ʨ��G
: �o���O�غc���A�A�ǤF���Ǫ̳��|�Ǫ����~�C
: ���غc���g���Fmethod

--

~*~ �U ~*~ �G ~*~ �h ~*~ ǧ ~*~ �� ~*~ ǻ ~*~ �� ~*~ �� ~*~ �� ~*~

���L�� �� ������ �T ������ �� ������ �H ������ �� ���L���

--
�� �o�H��: ���������~�{(ptt.cc)
�� From: 203.73.170.128
愚人
2006-12-02 01:10:12 UTC
Permalink
呃,等等。我要再看看。上一篇回錯了@@

※ 引述《Masashi0620 ( ο(≧▽≦)ο )》之銘言:

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.59.94.161
愚人
2006-12-02 01:18:23 UTC
Permalink
再看了後,覺得沒有足夠的資訊判斷你寫的對不對

※ 引述《Masashi0620 ( ο(≧▽≦)ο )》之銘言:
: 各位大大好...
: 小弟寫了一個程式
: 希望在建構式中用jxl輸入excel資料
: 然後在其他程式宣告陣列 把建構式中的資料傳入開始作運用...
[-----------------------------------------------------]
`看起來'有做到
: 可是奇怪的是 陣列一直接收不到建構式傳入的資料...
: 請各位大大幫我看看... 是不是哪裡寫錯了??? @@
: public void trainNetwork() {
: for (int x = 0; x < mTrainPoints; x++) {
: mTrainPointsArray[x] = new Point(x);
[------------------]
看起來是對的,但是不知你宣告什麼type
: }
: .....................
: public Point(int x) {
: try {
: Workbook workbook = Workbook.getWorkbook(new File("Book2.xls"));
: Sheet sheet=workbook.getSheet("Sheet1");
: int row=sheet.getRows();
: int col=sheet.getColumns();
: float w [] = new float[20];
: Cell c0 = null;
: for( int i=0 ; i <= col ; i++)
[--------] 這裡真的需要用<=嗎?
: {
: c0 = sheet.getCell( i , x); //希望x接受上面迴圈的x值
: //不知道這樣寫是否正確...@@
: String s1= c0.getContents();
: w [i] =Float.parseFloat(s1);
: }
: a = w[0];
: b = w[1];
: c = w[2];
: d = w[3];
: e = w[4];
: f = w[5];
: g = w[6];
: h = w[7];
: i = w[8];
: j = w[9];
: k = w[10];
: l = w[11];
: m = w[12];
: n = w[13];
: o = w[14];
: p = w[15];
[-------]
這一串看似沒問題,但是有必要分別給a,b,c..p嗎
: } catch (Exception e) {
: System.err.println(e.getMessage());
: } // catch
: }
: 懇請各位大大指教 <(_ _)>

所以,不知道你指的

<% 可是奇怪的是 陣列一直接收不到建構式傳入的資料.. %>

是什麼。

陣列只會存Point,建構式傳入的資料被建構式消化後

如果有儲存起來,也只有Point的instance保存其狀態

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.59.94.161
 ο(≧▽≦)ο
2006-12-02 02:08:28 UTC
Permalink
�U���j�j ���ڱN�{���X�������W

�Ʊ��j�j�̯൹�ڤ@�ǫ�ij...

�]���ڧ˳o�Ӧa�� �w�g�ˤF�֤@��§���F

���e�٬O�θ��Ʈw���覡 �]�O�g���X��..~"~

�{�b����jxl...

�٬O�g���X�ӧڷQ�n��...~"~

�Ʊ��j�j���I�p�̤@�U...<(_ _)>

�o�O�{�������X...

http://tinyurl.com/ya6oxf

�o�O�ڰ����եΪ�Excel

http://tinyurl.com/ycs8lz



�� �ޭz�mqrtt1 (�M�H)�n���ʨ��G
: �A�ݤF���Aı�o�S��������T�P�_�A�g���藍��
: �� �ޭz�mMasashi0620 (���j�c�� �j(�١���)�j )�n���ʨ��G
: : �U���j�j�n...
: : �p�̼g�F�@�ӵ{��
: : �Ʊ��b�غc������jxl���Jexcel����
: : �M���b���L�{���ŧi�}�C ���غc���������ƶǤJ�}�l�@�B��...
: [-----------------------------------------------------]
: `�ݰ_��'������
: : �i�O�_�Ǫ��O �}�C�@�����������غc���ǤJ������...
: : �ЦU���j�j��ڬݬ�... �O���O���̼g���F??? @@
: : public void trainNetwork() {
: : for (int x = 0; x < mTrainPoints; x++) {
: : mTrainPointsArray[x] = new Point(x);
: [------------------]
: �ݰ_�ӬO�諸�A���O�����A�ŧi����type
: : }
: : .....................
: : public Point(int x) {
: : try {
: : Workbook workbook = Workbook.getWorkbook(new File("Book2.xls"));
: : Sheet sheet=workbook.getSheet("Sheet1");
: : int row=sheet.getRows();
: : int col=sheet.getColumns();
: : float w [] = new float[20];
: : Cell c0 = null;
: : for( int i=0 ; i <= col ; i++)
: [--------] �o�̯u���ݭn��<=��?
: : {
: : c0 = sheet.getCell( i , x); //�Ʊ�x�����W���j�骺x��
: : //�����D�o�˼g�O�_���T...@@
: : String s1= c0.getContents();
: : w [i] =Float.parseFloat(s1);
: : }
: : a = w[0];
: : b = w[1];
: : c = w[2];
: : d = w[3];
: : e = w[4];
: : f = w[5];
: : g = w[6];
: : h = w[7];
: : i = w[8];
: : j = w[9];
: : k = w[10];
: : l = w[11];
: : m = w[12];
: : n = w[13];
: : o = w[14];
: : p = w[15];
: [-------]
: �o�@���ݦ��S���D�A���O�����n��O��a,b,c..p��
: : } catch (Exception e) {
: : System.err.println(e.getMessage());
: : } // catch
: : }
: : ��ЦU���j�j���� <(_ _)>
: �ҥH�A�����D�A����
: <% �i�O�_�Ǫ��O �}�C�@�����������غc���ǤJ������.. %>
: �O�����C
: �}�C�u�|�sPoint�A�غc���ǤJ�����ƳQ�غc�����ƫ�
: �p�G���x�s�_�ӡA�]�u��Point��instance�O�s�䪬�A

--

~*~ �U ~*~ �G ~*~ �h ~*~ ǧ ~*~ �� ~*~ ǻ ~*~ �� ~*~ �� ~*~ �� ~*~

���L�� �� ������ �T ������ �� ������ �H ������ �� ���L���

--
�� �o�H��: ���������~�{(ptt.cc)
�� From: 203.73.170.128
愚人
2006-12-02 02:43:57 UTC
Permalink
http://www.rafb.net/paste/results/54ASeC87.html

錯在第659行

for( int i=0 ; i <= col ; i++)

你把catch的部份換成

} catch (Exception e) {
e.printStackTrace();
} // catch

就會看到

java.lang.ArrayIndexOutOfBoundsException: 16
at jxl.read.biff.SheetImpl.getCell(SheetImpl.java:325)
at Point.<init>(Point.java:56)
at Point.main(Point.java:214)

因為發生錯誤,所以後面的
a = w[0];
b = w[1];
c = w[2];
d = w[3];
e = w[4];
f = w[5];
g = w[6];
h = w[7];
i = w[8];
j = w[9];
k = w[10];
l = w[11];
m = w[12];
n = w[13];
o = w[14];
p = w[15];

不會被執行,跳到catch去了
所以,前篇才會問你為什麼要<=

--
解決了你一星期的困擾
改天教一下倒傳遞唄>///<
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.59.94.161
※ 編輯: qrtt1 來自: 210.59.94.161 (12/02 18:42)
※ 編輯: qrtt1 來自: 210.59.94.161 (12/02 18:43)
 ο(≧▽≦)ο
2006-12-02 04:12:17 UTC
Permalink
�i�O�ڤ���C...

��compile���L�C...@@

�O�]���ڪ�catch�ԭz���g�� �ҥH�S�������o�ӿ��~��???

�P�¤j�j������...^^



�� �ޭz�mqrtt1 (�M�H)�n���ʨ��G
: http://www.rafb.net/paste/results/54ASeC87.html
: ���b��659��
: for( int i=0 ; i <= col ; i++)
: �A��catch�������
: } catch (Exception e) {
: e.printStackTrace();
: } // catch
: �N�|�ݨ�
: java.lang.ArrayIndexOutOfBoundsException: 16
: at jxl.read.biff.SheetImpl.getCell(SheetImpl.java:325)
: at Point.<init>(Point.java:56)
: at Point.main(Point.java:214)
: �]���o�Ϳ��~�A�ҥH�᭱��
: a = w[0];
: b = w[1];
: c = w[2];
: d = w[3];
: e = w[4];
: f = w[5];
: g = w[6];
: h = w[7];
: i = w[8];
: j = w[9];
: k = w[10];
: l = w[11];
: m = w[12];
: n = w[13];
: o = w[14];
: p = w[15];
: ���|�Q�����A����catch�h�F
: �ҥH�A�e�g�~�|�ݧA�������n<=

--

~*~ �U ~*~ �G ~*~ �h ~*~ ǧ ~*~ �� ~*~ ǻ ~*~ �� ~*~ �� ~*~ �� ~*~

���L�� �� ������ �T ������ �� ������ �H ������ �� ���L���

--
�� �o�H��: ���������~�{(ptt.cc)
�� From: 203.73.170.128
涼宮春日症候群
2006-12-02 04:30:31 UTC
Permalink
�� �ޭz�mMasashi0620 (���j�c�� �j(�١���)�j )�n���ʨ��G
: �i�O�ڤ���C...
: ��compile���L�C...@@
: �O�]���ڪ�catch�ԭz���g�� �ҥH�S�������o�ӿ��~��???
: �P�¤j�j������...^^
�N�O�]��catch���F

���~�I�H�U��}catch{���e���F���~���S������

--
�Ե^�G�u�e���I�A�u���N�o�˳Q���輤�����l�޹L�h�F��?!�v
���G�u�u�n���ۤk���\�X�ˤ���ˤl�A�Ҧ����n���O�N�����K�A���G�@�I�����a�ڡC�v
�Ե^�G�u���D�A�S���k�H���L�Y�F��?!�v
���G(�_�M�D)�u�S���C�b�`���Y���B�ͬ��Y�����ǥ����e�A�S�����تF���C�v
�С�������Ƿǵȸ������Ƿǵ �ĤG��

--
�� �o�H��: ���������~�{(ptt.cc)
�� From: 192.192.197.115
practical
2006-12-02 06:07:22 UTC
Permalink
※ 引述《Masashi0620 ( ο(≧▽≦)ο )》之銘言:
: 可是我不懂耶...
: 我compile有過耶...@@

因為 ArrayIndexOutOfBoundsException 屬於 Runtime Exception
跟 compile 沒有關係, 能夠compile不是代表沒有錯誤

: 是因為我的catch敘述式寫錯 所以沒有抓到這個錯誤嗎???
: 感謝大大的指導...^^
: ※ 引述《qrtt1 (愚人)》之銘言:
: : http://www.rafb.net/paste/results/54ASeC87.html
: : 錯在第659行
: : for( int i=0 ; i <= col ; i++)
: : 你把catch的部份換成
: : } catch (Exception e) {
: : e.printStackTrace();
: : } // catch
: : 就會看到
: : java.lang.ArrayIndexOutOfBoundsEx

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.133.199.167

继续阅读narkive:
Loading...