[問題] Java疑問?(已解決)

看板java作者 (TECO)時間10年前 (2015/04/24 18:11), 編輯推噓1(107)
留言8則, 3人參與, 最新討論串1/2 (看更多)
剛接觸Java不久,過程中遇到幾個問題,想請教各位,謝謝。 import java.util.*; public class Height { public static void main(String args[]) { String test; Scanner scanner = new Scanner(System.in); System.out.print("請輸入身高(cm)?"); test = scanner.next(); int i = Integer.parseInt(test),a,b,c,d; a=(i/5.08)*2; b=a/12; c=b*12; d=a-c; System.out.println("身高"+( i)+"公分"+"="+b+"呎"+d+"吋"); } } 結果執行後,它告訴我"a=(i/5.08)*2;"這裡有一個錯誤。 我只知道int是整數的意思,試過很多次,結果不是錯誤或數值不對。 遇到這種問題到底該怎麼修改,才可以真正執行呢? 麻煩各位了,謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.237.33.68 ※ 文章網址: https://www.ptt.cc/bbs/java/M.1429870289.A.836.html

04/24 18:14, , 1F
你這樣跑結果會正確嗎? XDDDD
04/24 18:14, 1F

04/24 18:21, , 2F
它告訴我有錯誤,但我卻不曉得該怎麼修改才是正確的?
04/24 18:21, 2F

04/24 18:21, , 3F
缺casting吧? a = (int) (i/5.08)*2
04/24 18:21, 3F

04/24 18:22, , 4F
i至少改成float吧...不然除起來是整數
04/24 18:22, 4F

04/24 18:22, , 5F
最後再cast就好 新手常犯錯誤
04/24 18:22, 5F

04/24 18:25, , 6F
float不行 java預設浮點是double 除非你寫5.08f
04/24 18:25, 6F

04/24 18:26, , 7F
而且這case要改也應該改a
04/24 18:26, 7F

04/24 19:34, , 8F
執行成功了,非常謝謝您們的建議^_^/!!
04/24 19:34, 8F
文章代碼(AID): #1LEXRHWs (java)
文章代碼(AID): #1LEXRHWs (java)