Java里int和int型的数据一起运算,返回的结果还是int型;而当整数和浮点数放到一起运算时,Java会将整数转为浮点数,再进行浮点数的运算,如:
10/3
//返回3
10.0/3
//返回3.333333333333333
再如:英制单位转换为公制单位(5尺7寸转为1.7018米),转换公式如下
(5+7/12)*0.3048=1.7018
import java.util.Scanner;
public class Hight {
//换算公式是(尺+寸/12)*0.3048
public static void main(String[] args){
int foot;
int inch;
Scanner in=new Scanner(System.in);
foot=in.nextInt();
inch=in.nextInt();
System.out.println((foot+"尺"+inch+"寸换算成中国计量单位是"+((foot+inch/12.0)*0.3048));//这样计算是对的
// System.out.println(foot+"尺"+inch+"寸换算成中国计量单位是"+((foot+inch/12)*0.3048));
// 这样就不对,因为inch和12都是int型,相除还是int型,比如10/3在java里返回的结果是3
// 当整数和浮点数放到一起运算时,Java会将整数转为浮点数,再进行浮点数的运算
}
}
返回结果: