问题描述
输入A, B,输出A*B和A/B的值。
输入格式
输入的第一行包含两个正整数A, B。
输出格式
输出两行,第一行包含一个整数,为A*B的值,第二行包含一个实数,保留两位小数,表示A/B的值。
样例输入
1 2
样例输出
2
0.50
数据规模和约定
0<A,B<1000000000。
代码如下:
import java.util.Scanner;
public class 乘除运算 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
double a = sc.nextInt();
double b = sc.nextInt();
double c = a/b;
long d=(long) (a*b);
System.out.println(d);
System.out.printf("%.2f",c);
}
}
知识点:
1,java数据类型精度排序:byte<short<long<int<float<double
2,Java中对于int型变量,分配4字节的内存,因此取值范围是-~
-1。也就是说其最大取值为2147483647。而对于long型变量,分配8字节内存,占64位,因此其变量取值范围是-
~
-1。所以此题应该选择使用long,而不是int。
3,输出时保留两位小数:
System.out.printf("%.2f",c);
System.out.println(String.format("%.2f", c));
4,强制类型转换
当把级别高的变量的值赋给级别低的变量时,必须使用类型转换运算。格式如下:
(类型名)要转换的值