Java语言怎么将数组里所有大于1的整数移动到0的后面,0的个数如果有好几个,难道需要一个一个移动么?有没有快速的办法
【以下回答由 GPT 生成】
public class Main {
public static void main(String[] args) {
int[] arr = { 1, 0, 3, 0, 5, 2 };
System.out.println("Before moving: ");
printArray(arr);
moveGreaterThanOneToEnd(arr);
System.out.println("After moving: ");
printArray(arr);
}
public static void moveGreaterThanOneToEnd(int[] arr) {
int count = 0; // 记录大于1的整数的数量
int index = 0; // 遍历数组的索引
// 遍历数组,将大于1的整数移动至0之后
for (int i = 0; i < arr.length; i++) {
if (arr[i] > 1) {
count++;
} else {
arr[index++] = arr[i];
}
}
// 在数组末尾补上count个0
for (int i = 0; i < count; i++) {
arr[index++] = 0;
}
}
public static void printArray(int[] arr) {
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
System.out.println();
}
}
这段代码实现了将数组中所有大于1的整数移动至0的后面的功能。具体步骤如下:
这样就完成了将数组中所有大于1的整数移动至0的后面的功能。
【相关推荐】