史萊姆論壇

返回   史萊姆論壇 > 專業主討論區 > 程式語言討論區
忘記密碼?
論壇說明

歡迎您來到『史萊姆論壇』 ^___^

您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的!

請點擊這裡:『註冊成為我們的一份子!』

Google 提供的廣告


發文 回覆
 
主題工具 顯示模式
舊 2009-11-02, 08:51 PM   #1
9319074
註冊會員
 
9319074 的頭像
榮譽勳章

勳章總數
UID - 331648
在線等級: 級別:3 | 在線時長:25小時 | 升級還需:7小時級別:3 | 在線時長:25小時 | 升級還需:7小時級別:3 | 在線時長:25小時 | 升級還需:7小時
註冊日期: 2009-10-05
文章: 90
精華: 0
現金: 32 金幣
資產: 156 金幣
Question 疑問 - [急,幫幫我]用NETBEANS寫的程式為啥在學校測試ok,在家不ok



public static void main(String[] args) {
int weight = Integer.parseInt(args[0]);
int hight = Integer.parseInt(args[1]);
double bmi = ((weight*1.0) / (hight*hight)*10000) ;
System.out.println(bmi);

}



我在學校測試,專案屬性參數我打"72 160" 會得到數值 28.125

為什麼在家同樣程式 為什麼出現

run:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at javaapplication16.Main.main(Main.java:20)
Java Result: 1
成功建置 (總時間:0 秒)


到底是哪邊出錯??

學校6.5版,我的6.7版

(打bmi的程式)
9319074 目前離線  
送花文章: 35, 收花文章: 44 篇, 收花: 48 次
回覆時引用此帖
有 2 位會員向 9319074 送花:
Living (2009-11-06),magicwoo (2009-11-04)
感謝您發表一篇好文章
舊 2009-11-03, 12:21 PM   #2 (permalink)
長老會員
 
cwvdavid 的頭像
榮譽勳章
UID - 476
在線等級: 級別:46 | 在線時長:2395小時 | 升級還需:2小時級別:46 | 在線時長:2395小時 | 升級還需:2小時級別:46 | 在線時長:2395小時 | 升級還需:2小時級別:46 | 在線時長:2395小時 | 升級還需:2小時級別:46 | 在線時長:2395小時 | 升級還需:2小時級別:46 | 在線時長:2395小時 | 升級還需:2小時
註冊日期: 2002-12-06
住址: 天與地的夾縫
文章: 3106
精華: 0
現金: 5256 金幣
資產: 2034465 金幣
預設

微軟常常有這種怪問題出現,

解決方式1...重灌作業系統
解決方式2...把學校的電腦搬回你家用吧...
__________________
姜太公釣魚~ 願者上鉤
cwvdavid 目前離線  
送花文章: 4036, 收花文章: 2466 篇, 收花: 10141 次
回覆時引用此帖
向 cwvdavid 送花的會員:
magicwoo (2009-11-04)
感謝您發表一篇好文章
舊 2009-11-03, 12:50 PM   #3 (permalink)
註冊會員
 
9319074 的頭像
榮譽勳章

勳章總數
UID - 331648
在線等級: 級別:3 | 在線時長:25小時 | 升級還需:7小時級別:3 | 在線時長:25小時 | 升級還需:7小時級別:3 | 在線時長:25小時 | 升級還需:7小時
註冊日期: 2009-10-05
文章: 90
精華: 0
現金: 32 金幣
資產: 156 金幣
預設

引用:
作者: cwvdavid 查看文章
微軟常常有這種怪問題出現,

解決方式1...重灌作業系統
解決方式2...把學校的電腦搬回你家用吧...
會是新舊版的問題嘛??

因為學校是用舊版的6.5,我是用6.7的,

假如這樣的話,那這作業我不是就要到學校做了...

還是有其他程式編輯方法??
9319074 目前離線  
送花文章: 35, 收花文章: 44 篇, 收花: 48 次
回覆時引用此帖
向 9319074 送花的會員:
magicwoo (2009-11-04)
感謝您發表一篇好文章
舊 2009-11-03, 01:50 PM   #4 (permalink)
長老會員
 
cwvdavid 的頭像
榮譽勳章
UID - 476
在線等級: 級別:46 | 在線時長:2395小時 | 升級還需:2小時級別:46 | 在線時長:2395小時 | 升級還需:2小時級別:46 | 在線時長:2395小時 | 升級還需:2小時級別:46 | 在線時長:2395小時 | 升級還需:2小時級別:46 | 在線時長:2395小時 | 升級還需:2小時級別:46 | 在線時長:2395小時 | 升級還需:2小時
註冊日期: 2002-12-06
住址: 天與地的夾縫
文章: 3106
精華: 0
現金: 5256 金幣
資產: 2034465 金幣
預設

在家裝6.5版, 或者把學校的版本更新成6.7版...

環境不一樣,結果平來就不會一樣了


否則一堆軟體也不必特定區分支不支援 Server作業系統,
也不會有 win95版的軟體在winxp不能跑的問題
更不會有 vista作業系統不能跑某些舊版遊戲的問題了.......
cwvdavid 目前離線  
送花文章: 4036, 收花文章: 2466 篇, 收花: 10141 次
回覆時引用此帖
向 cwvdavid 送花的會員:
magicwoo (2009-11-04)
感謝您發表一篇好文章
舊 2009-11-03, 04:07 PM   #5 (permalink)
註冊會員
 
9319074 的頭像
榮譽勳章

勳章總數
UID - 331648
在線等級: 級別:3 | 在線時長:25小時 | 升級還需:7小時級別:3 | 在線時長:25小時 | 升級還需:7小時級別:3 | 在線時長:25小時 | 升級還需:7小時
註冊日期: 2009-10-05
文章: 90
精華: 0
現金: 32 金幣
資產: 156 金幣
Question

引用:
作者: cwvdavid 查看文章
在家裝6.5版, 或者把學校的版本更新成6.7版...

環境不一樣,結果平來就不會一樣了


否則一堆軟體也不必特定區分支不支援 Server作業系統,
也不會有 win95版的軟體在winxp不能跑的問題
更不會有 vista作業系統不能跑某些舊版遊戲的問題了.......
有其他方式可以換寫成像我這樣的bmi程式嘛?

先問一下,我一樓的程式寫對吧??


int weight = Integer.parseInt(args[0]);
int hight = Integer.parseInt(args[1]);


這兩行可以改寫嘛??就是ken in數字得到數值

此帖於 2009-11-03 04:19 PM 被 9319074 編輯.
9319074 目前離線  
送花文章: 35, 收花文章: 44 篇, 收花: 48 次
回覆時引用此帖
向 9319074 送花的會員:
magicwoo (2009-11-04)
感謝您發表一篇好文章
舊 2009-11-03, 05:53 PM   #6 (permalink)
長老會員
 
cwvdavid 的頭像
榮譽勳章
UID - 476
在線等級: 級別:46 | 在線時長:2395小時 | 升級還需:2小時級別:46 | 在線時長:2395小時 | 升級還需:2小時級別:46 | 在線時長:2395小時 | 升級還需:2小時級別:46 | 在線時長:2395小時 | 升級還需:2小時級別:46 | 在線時長:2395小時 | 升級還需:2小時級別:46 | 在線時長:2395小時 | 升級還需:2小時
註冊日期: 2002-12-06
住址: 天與地的夾縫
文章: 3106
精華: 0
現金: 5256 金幣
資產: 2034465 金幣
預設

可以執行就是對的 , 不能執行就是錯的...

agrs[0], args[1] 分別是你執行程式時, 在程式後加上去的 [參數]

專案屬性參數你打"72 160", 對程式而言, args[0]就是72, args[1]就是160
如果你專案屬性參數只打了"72", 對程式而言 args[0]就是72, args[1]則不存在.........


至於keyIn數字得到數值...要改寫, 當然可以,
程式有很多種寫法, 就看你想怎麼寫........

=============
至於【有其他方式可以換寫成像我這樣的bmi程式嘛?】
不太懂你要寫什麼....

計算BMI,不就是【體重 除以 [身高的平方] 再乘以 1萬】??
cwvdavid 目前離線  
送花文章: 4036, 收花文章: 2466 篇, 收花: 10141 次
回覆時引用此帖
向 cwvdavid 送花的會員:
magicwoo (2009-11-04)
感謝您發表一篇好文章
舊 2009-11-06, 01:21 AM   #7 (permalink)
長老會員
榮譽勳章
UID - 55766
在線等級: 級別:5 | 在線時長:54小時 | 升級還需:6小時級別:5 | 在線時長:54小時 | 升級還需:6小時級別:5 | 在線時長:54小時 | 升級還需:6小時級別:5 | 在線時長:54小時 | 升級還需:6小時級別:5 | 在線時長:54小時 | 升級還需:6小時
註冊日期: 2003-04-06
文章: 101
精華: 0
現金: 10696 金幣
資產: 20696 金幣
預設

小弟剛好有Netbeans
試了一下,程式是可以跑。

問題出在,你在家裡的 Netbeans 沒有給參數 72 160
參數要放在:
專案名稱 -> 滑鼠右鍵 -> properties -> 執行 -> 參數 -> 72 160

這樣應該就可以了!
bblin2 目前離線  
送花文章: 3, 收花文章: 10 篇, 收花: 14 次
回覆時引用此帖
有 2 位會員向 bblin2 送花:
Living (2009-11-06),magicwoo (2009-11-06)
感謝您發表一篇好文章
舊 2009-11-06, 08:06 AM   #8 (permalink)
註冊會員
 
9319074 的頭像
榮譽勳章

勳章總數
UID - 331648
在線等級: 級別:3 | 在線時長:25小時 | 升級還需:7小時級別:3 | 在線時長:25小時 | 升級還需:7小時級別:3 | 在線時長:25小時 | 升級還需:7小時
註冊日期: 2009-10-05
文章: 90
精華: 0
現金: 32 金幣
資產: 156 金幣
預設

引用:
作者: bblin2 查看文章
小弟剛好有Netbeans
試了一下,程式是可以跑。

問題出在,你在家裡的 Netbeans 沒有給參數 72 160
參數要放在:
專案名稱 -> 滑鼠右鍵 -> properties -> 執行 -> 參數 -> 72 160

這樣應該就可以了!
你的步驟跟我老師講的不一樣耶,你的步驟圖可以給我嘛??

我的老師是教這樣:run→set project → configuration→customize...

這樣打開,輸入參數....學校專門上課教室電腦6.5版ok,我本人電腦6.7不行,學校另外教室電腦6.1版也是不行。

我給圖好了,你也順便把步驟圖給我:

http://img690.imageshack.us/img690/2763/dfsdfsd.jpg
9319074 目前離線  
送花文章: 35, 收花文章: 44 篇, 收花: 48 次
回覆時引用此帖
舊 2009-11-07, 12:14 PM   #9 (permalink)
長老會員
榮譽勳章
UID - 55766
在線等級: 級別:5 | 在線時長:54小時 | 升級還需:6小時級別:5 | 在線時長:54小時 | 升級還需:6小時級別:5 | 在線時長:54小時 | 升級還需:6小時級別:5 | 在線時長:54小時 | 升級還需:6小時級別:5 | 在線時長:54小時 | 升級還需:6小時
註冊日期: 2003-04-06
文章: 101
精華: 0
現金: 10696 金幣
資產: 20696 金幣
預設

引用:
作者: 9319074 查看文章
你的步驟跟我老師講的不一樣耶,你的步驟圖可以給我嘛??

我的老師是教這樣:run→set project → configuration→customize...

這樣打開,輸入參數....學校專門上課教室電腦6.5版ok,我本人電腦6.7不行,學校另外教室電腦6.1版也是不行。
小弟建議你不要背步驟,因為不同的編輯器操作方法都不一樣。
即使是相同的編輯器不同版本操作方法也可能改變。

你(妳)必須知道為何要給參數?以及如何給參數?

以你的例子來說:
一般程式執行都是在『命令模式』就是 C:> 底下執行
所以正常程式執行應該如下面:

C:>JavaApplication17 72 160

其中 JavaApplication17 是程式的名字、72 是體重、160 是身高。
程式收到參數後會儲存在『字串型態』的 args 陣列裡面,
args[0] 放的就是 72、args[1] 放的就是 160

要計算時需轉換成『數值型態』,就是下面這兩行
int weight = Integer.parseInt(args[0]);
int hight = Integer.parseInt(args[1]);

之後程式依據公式,算出 bmi 後列印出來。
---------------------------------------------------------------
因為編輯器沒有『命令模式』讓你輸入身高、體重,所以提供『參數』功能讓
指定身高、體重。
家裡的編輯器一開始沒有設定身高、體重,當然就會出錯囉!

下面的錯誤訊息就是說,『字串型態』的陣列裡沒有適當的資料,指的就是
args陣列

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at javaapplication16.Main.main(Main.java:20)
bblin2 目前離線  
送花文章: 3, 收花文章: 10 篇, 收花: 14 次
回覆時引用此帖
舊 2009-11-07, 06:37 PM   #10 (permalink)
長老會員
 
cwvdavid 的頭像
榮譽勳章
UID - 476
在線等級: 級別:46 | 在線時長:2395小時 | 升級還需:2小時級別:46 | 在線時長:2395小時 | 升級還需:2小時級別:46 | 在線時長:2395小時 | 升級還需:2小時級別:46 | 在線時長:2395小時 | 升級還需:2小時級別:46 | 在線時長:2395小時 | 升級還需:2小時級別:46 | 在線時長:2395小時 | 升級還需:2小時
註冊日期: 2002-12-06
住址: 天與地的夾縫
文章: 3106
精華: 0
現金: 5256 金幣
資產: 2034465 金幣
預設

引用:
作者: bblin2 查看文章
小弟建議你不要背步驟,因為不同的編輯器操作方法都不一樣。
即使是相同的編輯器不同版本操作方法也可能改變。

你(妳)必須知道為何要給參數?以及如何給參數?

以你的例子來說:
一般程式執行都是在『命令模式』就是 C:> 底下執行
所以正常程式執行應該如下面:

C:>JavaApplication17 72 160

其中 JavaApplication17 是程式的名字、72 是體重、160 是身高。
程式收到參數後會儲存在『字串型態』的 args 陣列裡面,
args[0] 放的就是 72、args[1] 放的就是 160

要計算時需轉換成『數值型態』,就是下面這兩行
int weight = Integer.parseInt(args[0]);
int hight = Integer.parseInt(args[1]);

之後程式依據公式,算出 bmi 後列印出來。
---------------------------------------------------------------
因為編輯器沒有『命令模式』讓你輸入身高、體重,所以提供『參數』功能讓
指定身高、體重。
家裡的編輯器一開始沒有設定身高、體重,當然就會出錯囉!

下面的錯誤訊息就是說,『字串型態』的陣列裡沒有適當的資料,指的就是
args陣列

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at javaapplication16.Main.main(Main.java:20)


補充說明:
在command模式底下

要先打Java

也就是說

編譯時
C:\javac JavaApplication17.java

執行時...(執行JavaApplication17.class)
C:\java JavaApplication17 72 160


在command模式,還有環境變數(path)的問題,如果沒設定的話,
在C:\輸入java....電腦會說【'java' 不是內部或外部命令、可執行的程式或批次檔】
cwvdavid 目前離線  
送花文章: 4036, 收花文章: 2466 篇, 收花: 10141 次
回覆時引用此帖
舊 2009-11-07, 08:47 PM   #11 (permalink)
註冊會員
 
9319074 的頭像
榮譽勳章

勳章總數
UID - 331648
在線等級: 級別:3 | 在線時長:25小時 | 升級還需:7小時級別:3 | 在線時長:25小時 | 升級還需:7小時級別:3 | 在線時長:25小時 | 升級還需:7小時
註冊日期: 2009-10-05
文章: 90
精華: 0
現金: 32 金幣
資產: 156 金幣
預設

引用:
作者: cwvdavid 查看文章
補充說明:
在command模式底下

要先打Java

也就是說

編譯時
C:\javac JavaApplication17.java

執行時...(執行JavaApplication17.class)
C:\java JavaApplication17 72 160


在command模式,還有環境變數(path)的問題,如果沒設定的話,
在C:\輸入java....電腦會說【'java' 不是內部或外部命令、可執行的程式或批次檔】
引用:
作者: bblin2 查看文章
小弟建議你不要背步驟,因為不同的編輯器操作方法都不一樣。
即使是相同的編輯器不同版本操作方法也可能改變。

你(妳)必須知道為何要給參數?以及如何給參數?

以你的例子來說:
一般程式執行都是在『命令模式』就是 C:> 底下執行
所以正常程式執行應該如下面:

C:>JavaApplication17 72 160

其中 JavaApplication17 是程式的名字、72 是體重、160 是身高。
程式收到參數後會儲存在『字串型態』的 args 陣列裡面,
args[0] 放的就是 72、args[1] 放的就是 160

要計算時需轉換成『數值型態』,就是下面這兩行
int weight = Integer.parseInt(args[0]);
int hight = Integer.parseInt(args[1]);

之後程式依據公式,算出 bmi 後列印出來。
---------------------------------------------------------------
因為編輯器沒有『命令模式』讓你輸入身高、體重,所以提供『參數』功能讓
指定身高、體重。
家裡的編輯器一開始沒有設定身高、體重,當然就會出錯囉!

下面的錯誤訊息就是說,『字串型態』的陣列裡沒有適當的資料,指的就是
args陣列

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at javaapplication16.Main.main(Main.java:20)


老師也有講過用另一個方法,用命令提示字元方法來用,

只是他教法不知為什麼要刪除.class什麼檔的東西...
9319074 目前離線  
送花文章: 35, 收花文章: 44 篇, 收花: 48 次
回覆時引用此帖
發文 回覆



發表規則
不可以發文
不可以回覆主題
不可以上傳附加檔案
不可以編輯您的文章

論壇啟用 BB 語法
論壇啟用 表情符號
論壇啟用 [IMG] 語法
論壇禁用 HTML 語法
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 禁用


所有時間均為台北時間。現在的時間是 08:46 PM


Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2025, Jelsoft Enterprises Ltd.


SEO by vBSEO 3.6.1