为了账号安全,请及时绑定邮箱和手机立即绑定

求拯救 阴影的地方那里出错了

求拯救 阴影的地方那里出错了

toola 2016-07-30 10:01:58
查看完整描述

7 回答

?
望远

TA贡献1017条经验 获得超1032个赞

public class HelloWorld{

    //将一个整数数组倒序输出

    public static void main(String[] args){

        int[] num={1,5,9,8,7,3,0};

        System.out.print("整数为:");

      for(int i=0;i<num.length;i++){

            System.out.print(num[i]);

}

        System.out.println();

        System.out.print("排序后整数为:");

        for(int i=num.length-1;i>=0;i--){

        //if (num[num.length-1]==0)这里一直都是num[6]==0;条件恒为true;一直跳过打印输出,所以没结果

           // continue;其实不是可以直接输出不用判断吗??

            System.out.print(num[i]); 

          }      

    }

}


查看完整回答
2 反对 回复 2016-07-30
?
慕UI8279037

TA贡献1条经验 获得超0个赞

我看了下你的代码,发现在if(num[num.length-1]==0)时,结束当前循环。num[num.length-1]这个就是最后以为数,就是等于0,每次循环进入都是等于0,每次都结束当前循环,所以就显示不出来。

查看完整回答
反对 回复 2016-07-31
?
光着脚丫的拾荒者

TA贡献3条经验 获得超0个赞

你的代码里12行 if(num[num.length-1]==0)等值于if(num[6]==0),应该把num.length-1换成i;并且输出语句要在if语句前,否则num[6]的值输出不出来,因为它的值为0

public class Hello {
   public static void main(String args[]){
       int num[]={1,5,9,8,7,3,0};
       System.out.print("整数为:");
       for(int i=0;i<num.length;i++){
           System.out.print(num[i]);
       }
       System.out.println();
       System.out.println("排序后的整数为:");
       for(int i=num.length-1;i>=0;i--){
           System.out.println(num[i]);
           if(num[i]==0)
               continue;
       }
   }
}

查看完整回答
反对 回复 2016-07-30
?
211103

TA贡献20条经验 获得超11个赞

死循环了,num.length-1永远是6啊,数组确定了,它的长度也就确定了是不会变的。

你直接把你的if语句和continue去了就可以了,没必要这么麻烦。

查看完整回答
反对 回复 2016-07-30
?
charsandrew

TA贡献9条经验 获得超4个赞

这段代码真是奇怪,你第二个for循环语句if中的判断条件:(num(num.length-1)==0)永远为真,所以每次循环都结束当前循环开始下次循环,一直到循环结束。下面是一种参考:

public class HelloWorld{
    //将一个整数数组倒序输出
    public static void main(String[] args){
        int[] num={1,5,9,8,7,3,0};
        System.out.print("原整数数组为:");
        for(int each :num)
            System.out.print(each);
        System.out.println();
        System.out.print("倒序输出数组为:");
        for(int i=num.length-1;i>=0;i--)
            System.out.print(num[i]);       
    }
}


查看完整回答
反对 回复 2016-07-30
?
微博搞笑排行榜

TA贡献2条经验 获得超0个赞

int []a={1,5,9,8,7,3,0};

int length=a.length;

int m;

for (int i = 0; i < length/2; i++) {

m = a[i];

a[i]=a[length-i-1];

a[length-i-1]=m;

}

你试试


查看完整回答
反对 回复 2016-07-30
?
yuicer

TA贡献8条经验 获得超1个赞

你那一个if语句有问题,那是个固定值

查看完整回答
反对 回复 2016-07-30
  • 7 回答
  • 0 关注
  • 1627 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信