作者pugboy (緣投肥)
看板java
標題[問題] 請問關於ReverseString程式的問題
時間Sat Apr 7 10:03:44 2012
各位大哥大姐你們好,我是剛學習JAVA的新手,第一次發文,如有冒犯之處,請多包涵
就是我在一個自學網上練習一個習題,
題目為:寫一個將顛倒字串輸出的程式ReverseString.java。
我將此網站給的答案另存為Java檔
然後compile成class檔
最後執行 java ReverseString
跑出一串訊息為
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at ReverseString.main<ReverseString.java:10>
是不是哪裡出錯呢?並沒有將顛倒字串輸出阿,
可不可以請各位大哥大姐幫我解決問題呢?
不好意思麻煩了,謝謝。
Code如下:
import java.io.*;
/**ReverseString
將第一個參數字串以相反的順序輸出
*/
public class ReverseString {
public static void main(String[] args) throws IOException{
int length = args[0].length();
//輸出結果為result
char result[] = new char[length];
//for args[0]中的第一個字到最後一個字
for(int i = 0 ; i < length;i++){
//result[length - i - 1] = args[0][i]
result[length - i - 1] = args[0].charAt(i);
}//end for
System.out.println(result);
}//end main
}//end ReverseString
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.133.52.180
→ pugboy:我在網路上找到java.lang.arrayindexOutOfBoundsException 04/07 10:10
→ pugboy:的意思是數組上限超出了,是什麼意思呢? 04/07 10:13
→ pugboy:i < length 是這行出的問題嗎? 04/07 10:14
推 PsMonkey:都告訴你第十行出問題了,你也講一下第十行是啥吧..... 04/07 11:10
推 eieio:意思是例如 array A[] 長度為 5,結果你去抓 A[10] 04/07 12:08
推 eieio:如果 args[] 是空的,那 args[0] 也會爆掉 04/07 12:11
→ pugboy:第十行是int length = args[0].length(); 04/07 14:47
→ pugboy:所以是我一開始設的長度問題嗎? 謝謝P大跟E大的回覆! 04/07 14:53
→ pugboy:還是試不出來耶... 04/07 15:47
→ ssc24:執行 java ReverseString HelloWorld 看結果 04/07 16:28
→ pugboy:謝謝你ssc24大大 成功了 04/07 16:42
推 mrker:可以把String轉成StringBuilder 有reverse可用 04/08 00:08
推 risker760915:他字串是從args[0]取得,而這個是你要給他的 04/10 17:33