有人可以解释我这段代码

时间:2016-06-11 19:20:59

标签: java division roman-numerals

我需要解释这个微小的java代码。

decimalNumber是用户输入的变量,M是罗马数字1000 这是罗马数字转换器的一部分:

m = decimalNumber / 1000;
decimalNumber = decimalNumber % 1000;

2 个答案:

答案 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减少数千个。