1
我正在編寫一個程序,它允許用戶計算等腰梯形的面積。這裏是我的代碼:數學公式結果在顯示時丟失小數
import java.util.Scanner;
import java.lang.Math;
public class CSCD210Lab2
{
public static void main (String [] args)
{
Scanner mathInput = new Scanner(System.in);
//declare variables
int topLength, bottomLength, height;
//Get user input
System.out.print("Please enter length of the top of isosceles trapezoid: ") ;
topLength = mathInput.nextInt() ;
mathInput.nextLine() ;
System.out.print("Please enter length of the bottom of isosceles trapezoid: ") ;
bottomLength = mathInput.nextInt() ;
mathInput.nextLine() ;
System.out.print("Please enter height of Isosceles trapezoid: ") ;
height = mathInput.nextInt() ;
mathInput.nextLine() ;
double trapArea = ((topLength + bottomLength)/2*(height));
System.out.println();
System.out.printf("The area of the isosceles trapezoid is: "+trapArea);
}
}
如果我進入說,2 topLength,7 bottomLength,和3的高度,我會得到的12.0答案,當它應該導致13.5答案。有誰知道爲什麼我的代碼打印錯誤的答案,而不是打印.5?
這樣一個簡單的修復,我幾乎覺得愚蠢甚至問。非常感謝你! – Kjc21793 2014-09-29 22:47:13
如果你環顧一下StackOverflow,有不少人會被Integer Division問題困住。現在你知道了!很高興我能幫上忙! (請參閱更新 - 更簡單的修復 - 取決於您想要做什麼) – blo0p3r 2014-09-29 22:48:24