A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

package com.xiaotian.test;
/**
* 打印1-30的奇数和偶数,偶数存在a[],奇数存在 b[]里
* @author xiaotian
*
*/
public class OddNumberAndEvenNumber {

        /**
         * main主方法
         * @param args
         */
        public static void main(String[] args) {
                 int[] a = new int[15];
                 int[] b = new int[15];
                 
                 for(int i=1; i<31; i++){
                         int x = 0, y = 0;
                         if(i%2==0){//判断是偶数
                                 System.out.println(i+" ");
                                 a[x] = i;//存在a[]里
                                 x++;
                                 System.out.println("a[x]="+a[x]+" ");
                         }else{//判断是奇数
                                 b[y++] = i;//存在b[]里
                         }
                 }
                 //打印a[]
                 System.out.print("偶数:a[");
                 for(int x=0; x<a.length; x++){
                         if(x != a.length-1)
                              System.out.print(a[x]+",");
                         else
                                  System.out.print(a[x]+"]");
                 }
                //打印b[]
                 System.out.print("奇数:a[");
                 for(int x=0; x<b.length; x++){
                         if(x != b.length-1)
                              System.out.print(b[x]+",");
                         else
                                  System.out.print(b[x]+"]");
                 }
        }

}

3 个回复

倒序浏览
我不告诉你,但你可以尝试debug。。。debug技能一定要掌握。。。要不然会杯具
回复 使用道具 举报

回帖奖励 +1

                 for(int i=1; i<31; i++){
                         int x = 0, y = 0;
                         if(i%2==0){//判断是偶数
                                 System.out.println(i+" ");
                                 a[x] = i;//存在a[]里
                                 x++;
                                 System.out.println("a[x]="+a[x]+" ");
                         }else{//判断是奇数
                                 b[y++] = i;//存在b[]里
                         }
                 }
这段代码有问题,你在For循环里定义的X,Y。所以每次经过一次循环,X,Y重新赋值为0。所以数组下标一直为0

评分

参与人数 1技术分 +1 收起 理由
宁超 + 1

查看全部评分

回复 使用道具 举报
强子 黑马帝 2011-11-21 11:06:39
板凳
楼上正解,可以把x,y拿到循环外面定义。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马