5 回答
TA貢獻(xiàn)1條經(jīng)驗(yàn) 獲得超1個贊
package?com.bjlemon.task.day08;
import?java.util.Arrays;
/**
?*?@author?利他
?*?@version?1.0
?*?@date?2018/10/13?16:42
?*/
public?class?test?{
????public?static?void?main(String[]?args)?{
????????//定義數(shù)組
????????int?oldArr[]?=?{1,?3,?4,?5,?0,?0,?6,?6,?0,?5,?4,?7,?6,?7,?0,?5};
????????//從小到大排序,0會排在最前面
????????Arrays.sort(oldArr);
????????//統(tǒng)計(jì)原數(shù)組中第一個非0元素的下標(biāo)
????????int?index?=?0;
????????//統(tǒng)計(jì)原數(shù)組中0的個數(shù)
????????int?zeros?=?0;
????????//遍歷數(shù)組
????????for?(int?i?=?0;?i?<?oldArr.length;?i++)?{
????????????//如果當(dāng)前元素等于0,計(jì)數(shù)加一,并跳出本次循環(huán),否則第一個非0的元素為本次循環(huán)的次數(shù),并跳出這個循環(huán)
????????????if?(oldArr[i]?==?0)?{
????????????????zeros++;
????????????????continue;
????????????}?else?{
????????????????index?=?i;
????????????????break;
????????????}
????????}
????????//定義新的數(shù)組,大小為舊數(shù)組的長度減去元素為0的個數(shù)
????????int[]?newArr?=?new?int[oldArr.length?-?zeros];
????????/*
????????public?static?void?arraycopy(
????????????????????????????????????Object?src,??//源數(shù)組
????????????????????????????????????int?srcPos,??//源數(shù)組的起始位置
????????????????????????????????????Object?dest,?//目標(biāo)數(shù)組
????????????????????????????????????int?destPos,?//目標(biāo)數(shù)組的起始位置
????????????????????????????????????int?length???//復(fù)制長度
???????????????????????????????????)
????????*/
????????//調(diào)用System.arraycopy()方法將原數(shù)組數(shù)組中的非0數(shù)據(jù)拷貝到新數(shù)組中
????????System.arraycopy(oldArr,?index,?newArr,?0,?newArr.length);
????????//循環(huán)輸出newArr數(shù)組中的每個元素
????????for?(int?i?:?newArr)?{
????????????System.out.print(i?+?"?");
????????}
????}
}TA貢獻(xiàn)1條經(jīng)驗(yàn) 獲得超1個贊
public?static?void?main(String[]?args)?{
int?oldarr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5};
int?newarr[]=new?int[oldarr.length];
int?j=0;
for(int?i=0;i<oldarr.length;i++){
if(oldarr[i]!=0){
newarr[j]=oldarr[i];
j++;
}
}
for(int?k=0;k<j;k++){
System.out.print(newarr[k]+"?");
}
}TA貢獻(xiàn)317條經(jīng)驗(yàn) 獲得超240個贊
public?static?void?main(String[]?args)?{
?int?oldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5};
?Arrays.sort(oldArr);?//從小到大排序,0在最前面
?int?index?=?0;//原數(shù)組中第一個非0元素的下標(biāo)
?int?zeros?=?0;//原數(shù)組中0的個數(shù)
?for(int?i?=?0;?i?<?oldArr.length;?i++)?{
?if(oldArr[i]?==?0)?{
?zeros++;
?continue;
?}?else?{
?index?=?i;
?break;
?}
?}
?int[]?newArr?=?new?int[oldArr.length?-?zeros];
?System.arraycopy(oldArr,?index,?newArr,?0,?newArr.length);//調(diào)用系統(tǒng)方法將原數(shù)組數(shù)組中的非0數(shù)據(jù)拷貝到新數(shù)組中
?for(int?i?:?newArr)?{
?System.out.print(i?+?"?");
?}
}TA貢獻(xiàn)4條經(jīng)驗(yàn) 獲得超0個贊
import java.util.Arrays;
public class Demo4_6_3 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int oldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5};
int newArr[]=new int[oldArr.length];
int k=0;
for(int i=0;i<oldArr.length;i++){
if(oldArr[i]!=0){
newArr[k]=oldArr[i];
k++;
}
}
System.out.println(Arrays.toString(newArr));
}
}
請問我這個程序輸出怎么是1,3,4,5,6,6,5,4,7,6,7,5,0,0,0,0,啊
TA貢獻(xiàn)13條經(jīng)驗(yàn) 獲得超2個贊
int o[]={1,3,4,5,0,0,6,6};
? ? int n[]=new int[o.length];
? ? int k=0; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //用于計(jì)算n[]下標(biāo)的變量
? ? for(int i=0;i<o.length;i++){
? ? ? ? if(o[i]!=0){ ? ? ? ? ? ? ? ? ? ? ? ? ? //判斷原數(shù)組是否為0,不為0把原數(shù)據(jù)賦值給新數(shù)組
? ? ? ? ? n[k]=o[i];
? ? ? ? ? System.out.print(n[k]+"\t"); ? ? ? ? ?
? ? ? ? ? k++;
? ? ? ? ? ?}
? ? }
添加回答
舉報
