查看完整版本: 新手問題
頁: [1]

a24563211 發表於 2016-12-30 10:50 AM

新手問題

我做了一個計算長方形面積的程式,我輸入小數點印不出來,只能輸入整數才跑得出面積

import java.util.Scanner;
public class iplusf

{
  public static void main (String args[])
  {
       
          
          float a,b;
          System.out.println("輸入長與寬");
                          
                  
          Scanner scn=new Scanner(System.in);
          a=(float) scn.nextDouble();
      b=(float) scn.nextInt();  
          System.out.println((float)a*b+"面積");

  }<div></div>

Invi6666 發表於 2016-12-31 10:32 AM

本帖最後由 Invi6666 於 2016-12-31 10:32 AM 編輯

你應該是第二次輸入小數點的時候會出現錯誤原因是你用 scn.nextInt(),這個方法只能允許你輸入整數, 所以你將 scn.nextInt() 改成 scn.nextFloat() 就可以了。

順便給你一些建議既然你的 a 和 b 的參數已經定義為 float 那你直接用 scn.nextFloat()就可以了,不用那麼麻煩讀Double然後在強制轉float形態,這有點畫蛇添足  float a,b;
  System.out.println("輸入長與寬");
                             
  Scanner scn=new Scanner(System.in);
  a= scn.nextFloat();
  b= scn.nextFloat();  

  System.out.println(a*b+"面積");...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div>

asd85295185 發表於 2017-3-31 04:11 PM

建議你在宣告和輸入a,b時,使用相同的型態float,連print也不要轉型了。
頁: [1]