Re: char array 的問題

看板java作者 (Voiceless Screaming)時間19年前 (2006/12/11 09:14), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
※ 引述《hhharley (誠徵JAVA學習夥伴)》之銘言: : public class Test : { : public static void main(String[] args) : { : char a[]; : for(int i=0; i<args[0].length(); i++) : { : a[i] = args[0].charAt(i); : System.out.println(a[i]); : } : } : } 因為重灌OS手上沒有JDK...只能憑記憶跟你討論囉 char a[]; //為java其它語法習慣用法,java沿用,不建議這樣寫 建議改為 char[] a; 再來,你只設定了一維陣列,沒有指定他的大小,卻要他去讀後面你輸入的字串 這就有Exception了.. 因為 String[] args 是 "String" 型別 你輸入數字,會casting成 Integer,但如果你不是輸入數字呢? 你輸入 " AFADAVCSVSDGDGSB " 那不就倒大霉了 所以這是Exception,硬要這樣寫的話,你就要去Catch 再來那行會錯,很大的原因是你沒有實作 Array 建議先改寫成這樣實作Array在Heap內 for(int i=0; i<args[0].length(); i++){ a[i] = new a(); } 再去運用你建好的Array 因為你沒在一開始就給陣列長度 卻要他抓 "String" casting 成 Integer的值去實作陣列物件 : 小的我是程式初學者 : 最近開始學java : 想請問各位前輩幾個問題 : 1.請問黃色的部份該不該加?到底要採用array的方式還是String的方式@@? : 2.這支小程式我compile是不會過的,錯誤的訊息是出在紅色的那一行 : 但是錯誤訊息是expect ']'.....,我實在不明白問題到底是什麼@@" : 另外我試過宣告char型別的變數去接受args[0]中的某個字元 : 我發現這樣是沒問題的,為什麼char型別的array卻不行呢? : 麻煩各位前輩幫忙解個惑,謝謝捏^^ -- ___ _ __ | _ \___| |/ _| | / _ \ | _| |_|_\___/_|_| 我的情緒發洩所︰http://www.wretch.cc/blog/ccpc1011 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.134.204.12
文章代碼(AID): #15VB3ejs (java)
文章代碼(AID): #15VB3ejs (java)