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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

allangeorge

初级黑马

  • 黑马币:37

  • 帖子:13

  • 精华:0

© allangeorge 初级黑马   /  2015-5-11 22:56  /  339 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. package testprogram;
  2. //day02 导师给的特殊作业
  3. public class ArrayDemo
  4. {
  5.         public static void main(String[] args)
  6.         {
  7.                
  8.                 for(int i=0; i<100;i++){
  9.                         add(1);
  10.                 }
  11.                
  12.                
  13.         }
  14.         static int index = 0; //数组的下标
  15.         static int[] arr = new int[10];
  16.        
  17.         //通过这个方法add可以给arr数组赋值
  18.         //调用该方法第一次的时候给arr[0]赋值
  19.         //调用第二次的时候给arr[1]赋值..
  20.         //可以无限次调用
  21.         public static void add(int i)
  22.         {
  23.        
  24.                         for (;index<arr.length;index++)
  25.                         {
  26.                                 for(int x=0;x<100;x++)
  27.                                 {
  28.                                         arr[index]=i;
  29.                                         System.out.println("arr"+"["+index+"]"+"="+arr[index]);
  30.                                 }
  31.                                
  32.                         }
  33.                
  34.         }
  35.        
  36.         /**
  37.                 调用set方法给arr赋值,index事索引,value 是对应的值
  38.                 比如 set(0,1)
  39.                 arr[0] = 1;
  40.         */
  41.         public static void set(int index, int value){
  42.                 arr[index]=value;
  43.                 System.out.println("arr"+"["+index+"]"+"="+arr[index]);
  44.         }
  45.        
  46.         /**
  47.                 调用该方法删除数组中的元素
  48.                 比如delete(0)
  49.                 就把arr[0]这个元素删掉
  50.                 比如{1,2,3} delete(0) --> {2,3}
  51.    
  52.         */
  53.         public static void delete(int index) //做法借鉴了网络资源,学会怎样通过双层循环+判断来去除若干数组元素
  54.         {//删除数组里的数                                                                          
  55.                
  56.                 for (int x=0;x<arr.length;x++)
  57.                 {
  58.                         if (x!=index)
  59.                         {
  60.                                 for (int y=x;y<arr.length-1;y++)
  61.                                 {
  62.                                         arr[y]=arr[y+1];
  63.                                        
  64.                                 }
  65.                                 System.out.println("arr2"+"["+index+"]"+"="+arr[x]);
  66.                         }
  67.                 }
  68.                
  69.         }

  70. }
复制代码
后边亮哥需求亮哥没说什么,他前边用了一段循环来测试,然后说我这做法不对。
  1. for(int i=0; i<100;i++){
  2.                         add(1);
  3.                 }
复制代码
我看了看需求:
//通过这个方法add可以给arr数组赋值
        //调用该方法第一次的时候给arr[0]赋值
        //调用第二次的时候给arr[1]赋值..
        //可以无限次调用

没错啊 1 add可以不停给这个10个元素的数组赋值 2调用一次赋值一次 3可以无限次重复调用  
亮哥再帖代码教教我吧,我没听懂。

1 个回复

正序浏览


  1. public class ArrayDemo {
  2.         static int index = 0; //数组的下标
  3.         static int[] arr = new int[10];


  4.         //通过这个方法可以给arr数组赋值
  5.         //调用该方法第一次的时候给arr[0]赋值
  6.         //调用第二次的时候给arr[1]赋值..
  7.         //可以无限次调用
  8.         public static  void add(int i){
  9.                
  10.         }
  11.        
  12.         /**
  13.                 调用set方法给arr赋值,index事索引,value 是对应的值
  14.                 比如 set(0,1)  
  15.                 arr[0] = 1;
  16.         */
  17.         public static  void set(int index, int value){
  18.                
  19.         }
  20.        
  21.         /**
  22.                 调用该方法删除数组中的元素
  23.                 比如delete(0)
  24.                 就把arr[0]这个元素删掉
  25.                 比如{1,2,3} delete(0) --> {2,3}

  26.         */
  27.         public static  void delete(int index){//删除数组里的数
  28.                
  29.         }
  30. }
复制代码


原来的题目是这样的。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马