为什么我无法获得 6 和倍数的值?
我哪里出错了?
import java.util.*;
public class Solution {
public static void main(String[] args) {
int m = 0, temp;
int arr[] = new int[5];
int flag = 0;
int n = scanner.nextInt();
scanner.skip("(\r\n|[\n\r\u2028\u2029\u0085])?");
while (n > 0) {
int rem = n % 2;
if (rem > 0) {
flag = flag + 1;
} else {
if (flag > 0) {
arr[m] = flag;
m = m + 1;
}
flag = 0;
}
n = n / 2;
}
for (int i = 0; i < arr.length; i++) {
for (int j = i + 1; j < arr.length; j++) {
if (arr[i] > arr[j]) {
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
scanner.close();
}
}