7-1 jmu-Java-02基本语法-05-浮点数计算 (1 分)
输入两个浮点数,如 69.1 0.02 输出其和与乘积
输入样例:
69.1
0.02
1.99
2.01
输出样例:
69.12
1.382
4.00
3.9999
分析:这个题看似比较简单,但是这里使用了一个类,即定点数类,英文名为Decimal,在java中的全称为BigDecimal,这个类被打包为一个可以存大数或者高精度数,并且有着可以处理这些数的方法的一个大集合。这个类在math库中,使用“import java.math*”来调用,在这个类中有一些基本的计算函数,列举如下:
方法 | 类型 | 描述 |
---|---|---|
public BigDecimal(String val) | 构造 | 将一个String类型的数字转变成BigDecImal类型的数 |
public BigDecimal(int val) | 构造 | 将一个int类型的数字转变成BigDecImal类型的数 |
public BigDecimal(double val) | 构造 | 将一个double类型的数字转变成BigDecImal类型的数 |
public BigDecimal add(BigDecimal another) | 普通 | 将一个此类型数与另一个相加,返回结果 |
public BigDecimal subtract(BigDecimal another) | 普通 | 减法 |
public BigDecimal multiply(BigDecimal another) | 普通 | 乘法 |
public BigDecimal divide(BigDecimal another) | 普通 | 触发 |
public int compareTo(BigDecimal another) | 普通 | 两个数比较大小,注意返回类型是int类型,为-1表示小于,0表示等于,1表示大于 |
总之,这个题就考察了创建BigDecimal类,处理BigDecimal类型值,用以上方法就可以解决这个问题。
实现代码:
import java.util.Scanner;
import java.math.*;
class Main {
public static void main(String[] args) {
int i = 0;
Scanner in = new Scanner(System.in);
for(;;i++)
{
String data1 = in.nextLine();
String data2 = in.nextLine();//创建两个字符串类型变量,用于接受需要的函数
BigDecimal b1 = new BigDecimal(data1);
BigDecimal b2 = new BigDecimal(data2);//用BigDecimal类的String的构造函数构造出两个对象
System.out.println(b1.add(b2));//输出加法结果,这里可以明确看出使用方法
System.out.println(b1.multiply(b2));//输出乘法结果,这里可以明确看出使用方法
}
}
}