我需要解释这个微小的java代码。
decimalNumber
是用户输入的变量,M是罗马数字1000
这是罗马数字转换器的一部分:
m = decimalNumber / 1000;
decimalNumber = decimalNumber % 1000;
答案 0 :(得分:3)
两个/
之间的int
运算符执行integer division - 即,它仅返回除法的整个部分。 %
运算符是模运算符 - 它返回除法的余数。
所以在这里,您使用/
来获取数字的数千部分,然后将余数分配给它,可能是为了继续转换数百,数十等等。
答案 1 :(得分:2)
第一行m = decimalNumber / 1000;
设置m
等于decimalNumber.
然后,第二行将decimalNumber
设为等于decimalNumber mod 1000
。 (如果你不熟悉模数,它就是除法后的余数。)
因此,举例来说,让我们从2453
开始使用数字decimalNumber
。首先,我们将m
设置为等于2453 / 1000
,整数除法为2
。 (请记住,除以整数时,其余部分会丢失,但在划分浮点数时则不会丢失。)
然后,decimalNumber
设置为2453 % 1000
,即453
。
通过这样做,您基本上可以计算出最终数量中需要多少“M”,然后将decimalNumber
减少数千个。