java 实现去掉数组中的0,将不为0的值存入新数组,生成新数组

java实现去掉数组中的0,将不为0的值存入新数组,生成新数组,下面这段代码问题出现在哪,应该怎么修改?publicclasshuafen{publicstaticvoi... java 实现去掉数组中的0,将不为0的值存入新数组,生成新数组,下面这段代码问题出现在哪,应该怎么修改?

public class huafen{
public static void main(String arg[]){
int o[]={1,3,4,5,0,0,6,6};
int n[]=new int[o.length];
int k=0; //用于计算n[]下标的变量
for(int i=0;i<o.length;i++){
if(o[i]!=0){ //判断原数组是否为0,不为0把原数据赋值给新数组
n[k]=o[i];
k++;
}
System.out.print(n[k]+"\t");
}
}
}
展开
 我来答
hh565109523
推荐于2017-09-25 · TA获得超过3192个赞
知道小有建树答主
回答量:618
采纳率:50%
帮助的人:310万
展开全部
public class huafen{
public static void main(String arg[]){
int o[]={1,3,4,5,0,0,6,6};
int n[]=new int[o.length];
int k=0; //用于计算n[]下标的变量
for(int i=0;i<o.length;i++){
if(o[i]!=0){ //判断原数组是否为0,不为0把原数据赋值给新数组
n[k]=o[i];
System.out.print(n[k]+"\t");

k++;
}
}
}
}

你那个输出的全是0,应该先输出在++,你试试这个
追问
你把System.out.print(n[k]+"\t");   修改为System.out.print(n[0]+"\t");           
为什么新数组n[0]的值为1 1 1 1 1 1
追答
n[0]表示输出此数组的第一个值,所以每次都是第一个值1

如果满意请及时采纳,谢谢
打包个馒头去旅行
2017-08-04
知道答主
回答量:17
采纳率:0%
帮助的人:1.6万
展开全部
public class Task14{
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 a = 0; //定义变量,用来计算0的个数
for(int i=0;i<oldArr.length;i++){
if(oldArr[i]==0){
a++;
}
}
int newArr[] = new int[oldArr.length-a];//确定新数组长度
int b = 0; //定义变量,用来表示newArr数组的下标值
for(int i=0;i<oldArr.length;i++){
if(oldArr[i]!=0){ //用选择结构将旧数组不为0的单位按顺序负值给新数组
newArr[b] = oldArr[i];
b++; //控制,新数组的下标
}
}
System.out.print("新数组 newArr 的值为: ");
for(int i=0;i<newArr.length;i++){ //输出新数组
System.out.print(newArr[i] + " ");
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式