2/10
如果我输入 10 然后 2 它会工作,它会给我 5。但是我正在将它应用到另一个程序中,现在放手尝试它并没有给我带有小数的结果,也就是说,它的0.2
除法be没有给我看。
为什么?我究竟做错了什么?
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Introduce dos numeros para dividir\nNumero: ");
int num1 = sc.nextInt();
System.out.print("Numero: ");
int num2 = sc.nextInt();
float div = num1/num2;
System.out.println("La division de "+num1+"/"+num2+" = " +div);
}
Lo que sucede que si divides dos números enteros el resultado será otro número entero.
这就是为什么你应该做
cast
任何整数值除以一种类型float
,因为cast se realiza antes de la operación
在将值分配给变量之前,整数和类型之一之间的运算结果
float
将是 afloat
div
此代码允许您执行小数之间的除法,因为变量被声明为双精度,这允许我执行除法并且结果给我一个小数
你有两个选择:
Scanner
将您从from获取的数据类型更改int
为float
,这是因为当您将两个整数相除时,结果将是另一个整数,从而使您的变量如下所示:将您的操作转换为您需要的点,在本例中为浮点数,因此您的变量
div
将如下所示: