[問題] args[]的長度問題

看板java作者時間16年前 (2007/10/10 07:54), 編輯推噓6(602)
留言8則, 4人參與, 最新討論串1/2 (看更多)
我有寫一個程式 執行時要輸入3個參數來表示一個數學運算式子 例如: 2 + 12 30 - 2 中間固定放加減乘除符號 而我的程式中有對參數數量進行判斷 if(args.length!=3) Error();//呼叫我另外寫的錯誤處理程式 但是我測試卻發現一個問題 如果我用*號 這個判斷式就會呼叫Error(); 使用其他符號就正常 後來我輸出了args.length 發現如果用+ - / 長度是3(正常結果) 但是用了* 長度卻會變6 這是為什麼啊 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.170.49.172

10/10 08:39, , 1F
把args都印出來看看? 是不是*被shell當成萬用字元了
10/10 08:39, 1F
"是不是*被shell當成萬用字元了" 這部份我看不懂耶(對於推文都不知道該回還是該編輯>"<) args我是有印出來啦 結果應該是"*"這個參數被整個資料夾裡的檔案名稱給取代了=.= 也就是有多少檔案就有多少參數取代*號的樣子 為何輸入"*"會有這樣的結果啊 有什麼方式可以避免這樣的影響嗎 ※ 編輯: thinkniht 來自: 218.170.49.172 (10/10 08:59)

10/10 09:01, , 2F
用""或''包住*試試看
10/10 09:01, 2F
用''包住的確有效... 雖然...這樣就和題目意思不合了=.= 算了...反正那個題目的範例答案也是錯的(會不會爛得誇張點啊XD) 不知道有沒有辦法正常的輸入*號但是可以正常執行的方法嗎 就是還是可以輸入像是"2 * 3" 或者"4 * 8"之類的參數 但是又不會影響到args長度 ※ 編輯: thinkniht 來自: 218.170.49.172 (10/10 09:18)

10/10 09:19, , 3F
另外還是不知道"被shell當成萬用字元"是啥意思
10/10 09:19, 3F

10/10 13:10, , 4F
這種東西本來就應該用 "" 包起來,不是不和題目,
10/10 13:10, 4F

10/10 13:11, , 5F
應該說是題目不對,或是你太堅持了.. 合
10/10 13:11, 5F

10/10 14:06, , 6F
你要不要考慮用 x 取代 * 當輸入參數...
10/10 14:06, 6F

10/10 18:14, , 7F
我是最近想考TQC的認證=.=這是其中術科的一個問題
10/10 18:14, 7F

10/10 18:15, , 8F
題庫題目那樣 我也不太可能隨便改題目...
10/10 18:15, 8F
文章代碼(AID): #1731IwB8 (java)
文章代碼(AID): #1731IwB8 (java)