我正在练习 Java,现在我遇到了一个问题。我无法理解这段代码是什么意思。有人会一步一步解释吗?
整个程序是一个两个二进制数相加的程序:
import java.util.Scanner;
public class Exercise17 {
public static void main(String[] args)
{
long binary1, binary2;
int i = 0, remainder = 0;
int[] sum = new int[20];
Scanner in = new Scanner(System.in);
System.out.print("Input first binary number: ");
binary1 = in.nextLong();
System.out.print("Input second binary number: ");
binary2 = in.nextLong();
while (binary1 != 0 || binary2 != 0)
{
sum[i++] = (int)((binary1 % 10 + binary2 % 10 + remainder) % 2);
remainder = (int)((binary1 % 10 + binary2 % 10 + remainder) / 2);
binary1 = binary1 / 10;
binary2 = binary2 / 10;
}
if (remainder != 0) {
sum[i++] = remainder;
}
--i;
System.out.print("Sum of two binary numbers: ");
while (i >= 0) {
System.out.print(sum[i--]);
}
System.out.print("\n");
}
}
告诉我这行是什么意思:
sum[i++] = (int)((binary1 % 10 + binary2 % 10 + remainder) % 2);
sum[i++] 是什么意思,这整个语句是什么意思?
sum[i++] = 2;
意思与此相同:
sum[i] = 2;
i = i + 1;
sum 是一个数组,我们写 sum[number] 来访问它的元素
i++ 是一个后缀增量器。在当前语句完成运行后,它将数字加一。(基本上是在当前行后加一行代码“i = i + 1”)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句