【发布时间】:2020-07-19 23:17:14
【问题描述】:
我有以下数组:
int [] mi_array= {9,4,0,0,4,0,3,0,1,8,0};
我想对左边0以外的数字排序,在右边排序0,但是发现函数踩到了其中一个数字。
输出必须是
{9,4,4,3,1,8,0,0,0,0,0}
public class Array {
public static void main(String[] args) {
int [] mi_array= {9,4,4,3,1,8,0,0,0,0,0};
int x=0;
int y=mi_array.length-1;
for (int i=0;i<mi_array.length;i++)
if(mi_array[i]!=0) {
mi_array[x]=mi_array[i];
x++;
}
else {
mi_array[y]=mi_array[i];
y--;
}
for (int i=0;i<mi_array.length;i++)
System.out.println(mi_array[i]);
System.out.println(x);
}
}
【问题讨论】:
-
其实非零应该往左边走,我表达错了,顺序无所谓