public class MegaByteConverter {
public static void main(String[] args) {
printMegaBytesAndKiloBytes(2500);
}
public static void printMegaBytesAndKiloBytes(int kiloByte) {
if (kiloByte < 0) {
System.out.println("Invalid Value");
}
System.out.println(kiloByte + " KB =" +
kiloByte / 1024 + " MB AND " + (kiloByte / 1024) % kiloByte + " KB");
}
}
我无法获得剩余的KB。CCD_ 1有问题。
在执行%
操作之前不需要执行(kiloByte/1024)
。这就是你问题的原因。
您所拥有的:
int kiloByte = 2500;
int megaByte = (kiloBytes / 1024); // 2500 / 1024 == 2
int remainder = megaByte % 1024; // 2 % 1024 == 2 which is not what you want
相比:
int kiloByte = 2500;
int megaByte = (kiloBytes / 1024); // == 2 (MB)
int remainder = kiloBytes % 1024; // == 452 (KB) which is your desired outcome