Java数组作业

  1 //输入一组数(10个),找出最大值,并给出最大值的位置
  2 package test;
  3 
  4 public class test1_1 {
  5     public static double max(double []a){
  6       double m=a[0];
  7       for(int i=0;i<a.length;++i){
  8         if(a[i]>m){
  9           m=a[i];
 10         }
 11       }
 12       return m;
 13     }
 14     public static int pos(double []a){
 15       double m=a[0];
 16       int t=0;
 17       for(int i=0;i<a.length;++i){
 18         if(a[i]>m){
 19           m=a[i];
 20           t=i;
 21         }
 22       }
 23       return t;
 24     }
 25   public static void main(String[] args) {
 26     // TODO Auto-generated method stub
 27        double a[]={1,2,3,4,5,6,7,8,9,10};
 28        double m;
 29        int n;
 30        m=max(a);
 31        n=pos(a)+1;
 32        System.out.println("这组数中最大数为:"+m+"其位置为第"+n+"个");
 33   }
 34 
 35 }
 36 //产生10个整数放到数组中,将其顺序颠倒后输出
 37 package test;
 38 
 39 import java.util.Scanner;
 40 
 41 public class test1_2 {
 42   public static void diandao(int[] a) {
 43     for (int i = 0; i < a.length / 2; ++i) {
 44       int t = a[i];
 45       a[i] = a[a.length - 1 - i];
 46       a[a.length - 1 - i] = t;
 47     }
 48     for (int i = 0; i < a.length; ++i) {
 49       System.out.print(a[i] + " ");
 50     }
 51   }
 52 
 53   public static void main(String[] args) {
 54     // TODO Auto-generated method stub
 55     int[] a = new int[10];
 56     System.out.println("请输入十个整数");
 57     Scanner in = new Scanner(System.in);
 58     for (int i = 0; i < a.length; ++i) {
 59       a[i] = in.nextInt();
 60     }
 61     System.out.println("原始数据为:");
 62     for (int i = 0; i < a.length; ++i) {
 63       System.out.print(a[i] + " ");
 64     }
 65     System.out.println();
 66     System.out.println("顺序颠倒后的数据为:");
 67     diandao(a);
 68   }
 69 
 70 }
 71 //产生10个整数放到数组中,将其顺序颠倒后输出
 72 package test;
 73 
 74 import java.util.Scanner;
 75 
 76 public class test1_2 {
 77   public static void diandao(int[] a) {
 78     for (int i = 0; i < a.length / 2; ++i) {
 79       int t = a[i];
 80       a[i] = a[a.length - 1 - i];
 81       a[a.length - 1 - i] = t;
 82     }
 83     for (int i = 0; i < a.length; ++i) {
 84       System.out.print(a[i] + " ");
 85     }
 86   }
 87 
 88   public static void main(String[] args) {
 89     // TODO Auto-generated method stub
 90     int[] a = new int[10];
 91     System.out.println("请输入十个整数");
 92     Scanner in = new Scanner(System.in);
 93     for (int i = 0; i < a.length; ++i) {
 94       a[i] = in.nextInt();
 95     }
 96     System.out.println("原始数据为:");
 97     for (int i = 0; i < a.length; ++i) {
 98       System.out.print(a[i] + " ");
 99     }
100     System.out.println();
101     System.out.println("顺序颠倒后的数据为:");
102     diandao(a);
103   }
104 
105 }
106 //定义一个数组,输出数组中高于平均值的元素
107 package test;
108 
109 public class test1_4 {
110     public static double avg(double []a){//求平均值
111       int sum=0;
112       double avg=0;
113       for(int i=0;i<a.length;++i){
114         sum+=a[i];
115       }
116       avg=sum/a.length;
117       return avg;
118     }
119     public static String mavg(double []a){//求大于平均值的元素
120       double n=avg(a);
121       double m=a[0];
122       String z="";
123         for(int i=0;i<a.length;++i){
124           if(a[i]>n){
125             m=a[i];
126             z=z+m+" ";
127           }
128         }
129         return z;
130     }
131   public static void main(String[] args) {
132     // TODO Auto-generated method stub
133      double[]a={1,2,3,4,5,6,7,8,9,0};
134      System.out.println("大于平均值的元素有:"+mavg(a));
135   }
136 
137 }
138 //分别形成下面两组数并输出
139 // 1 0 0        
140 // 0 1 0
141 // 0 0 1
142 //6
143 //11 12
144 //16 17 18
145 //21 22 23 24
146 //26 27 28 29 30
147 package test;
148 
149 public class test1_6 {
150   public static void fun1() {
151     int[][] a = new int[3][3];
152     int count = 0;
153     for (int i = 0; i < a.length; ++i) {
154       for (int j = 0; j < a[i].length; ++j) {
155         a[i][j] = 0;
156         a[i][i] = 1;
157         count++;
158         System.out.print(a[i][j] + " ");
159         if (count % 3 == 0) {
160           System.out.println();
161         }
162       }
163 
164     }
165   }
166 
167   public static void fun2() {
168     int[][] a = new int[5][5];
169     a[0][0]=6;
170     for(int i=0;i<a.length-1;++i) {//使数组的第一列都加5
171         a[i+1][0]=a[i][0]+5;
172       }
173     for (int i = 1; i < a.length; ++i) {
174       for (int j = 1; j <= i; ++j) {
175         a[i][j] = a[i - 1][j - 1] + a[0][0];
176       }
177     }
178     for (int i = 0; i < a.length; ++i) {
179       for (int j = 0; j <= i; ++j) {
180         System.out.print(a[i][j] + " ");
181       }
182       System.out.println();
183     }
184   }
185   public static void main(String[] args) {
186     // TODO Auto-generated method stub
187     fun1();
188     fun2();
189   }
190 
191 }
192 //求二维数组中,最大元素及其所在的行和列的位置
193 package test;
194 
195 public class test1_7 {
196   public static void max(int[][] a) {
197     int h = 0, l = 0;
198     int max = a[0][0];
199     for (int i = 0; i < a.length; ++i) {
200       for (int j = 0; j < a[i].length; ++j) {
201         if (a[i][j] > max) {
202           max = a[i][j];
203           h = i+1;
204           l = j+1;
205         }
206       }
207     }
208     System.out.println("该数组最大元素为:" + max + "在第" + h + "行" + "第" + l + "列");
209   }
210 
211   public static void main(String[] args) {
212     // TODO Auto-generated method stub
213     int[][] a = new int[3][3];
214     for (int i = 0; i < a.length; ++i) {
215       for (int j = 0; j < a[i].length; ++j) {
216         a[i][j] = (int) (Math.random() * 100);
217       }
218     }
219     System.out.println("随机产生的一个二维数组为:");
220     for (int i = 0; i < a.length; ++i) {
221       for (int j = 0; j < a[i].length; ++j) {
222         System.out.print(a[i][j] + " ");
223       }
224       System.out.println();
225     }
226     max(a);
227   }
228 
229 }
230 //将一个二维数组行和列元素互换.存到另一个二维数组
231 package test;
232 
233 public class test1_8 {
234   public static int[][] huhuan(int[][] a) {
235     int[][] b = new int[3][3];
236     for (int i = 0; i < a.length; ++i) {
237       for (int j = 0; j < a[i].length; ++j) {
238         b[j][i] = a[i][j];
239       }
240     }
241     /*
242      * System.out.println("交换后的数组为:"); for (int j = 0; j < b.length; ++j) { for (int
243      * i = 0; i < b[j].length; ++i) { System.out.print(b[j][i] + " "); }
244      * System.out.println(); }
245      */
246     return b;
247   }
248 
249   public static void main(String[] args) {
250     // TODO Auto-generated method stub
251     int[][] a = new int[3][3];
252     for (int i = 0; i < a.length; ++i) {
253       for (int j = 0; j < a[i].length; ++j) {
254         a[i][j] = (int) (Math.random() * 100);
255       }
256     }
257     System.out.println("随机产生的一个二维数组为:");
258     for (int i = 0; i < a.length; ++i) {
259       for (int j = 0; j < a[i].length; ++j) {
260         System.out.print(a[i][j] + " ");
261       }
262       System.out.println();
263     }
264     int[][] b = huhuan(a);
265     System.out.println("交换后的数组为:");
266     for (int j = 0; j < b.length; ++j) {
267       for (int i = 0; i < b[j].length; ++i) {
268         System.out.print(b[j][i] + " ");
269       }
270       System.out.println();
271     }
272   }
273 
274 }
275 //设计程序,生成杨辉三角形(利用数组)
276 package test;
277 
278 public class test1_9 {
279   public static int [][] yanghui(int [][]a){
280       for(int i=0;i<a.length;++i) {//使数组的第一列都为1
281         a[i][0]=a[i][i]=1;
282       }
283       for(int i=1;i<10;++i) {
284         for(int j=1;j<=i;++j) {
285           a[i][j]=a[i-1][j]+a[i-1][j-1];
286         }
287       }
288       return a;
289     }
290 
291   public static void main(String[] args) {
292     // TODO Auto-generated method stub
293        int [][]a=new int[10][10];
294            for(int i=0;i<a.length;++i) {//初始化数组
295               for(int j=0;j<a[i].length;++j) {
296                 a[i][j]=0;
297               }
298             }
299        int [][]b=yanghui(a);
300        for(int i=0;i<b.length;++i) {
301          for(int j=0;j<=i;++j) {
302            System.out.print(b[i][j]+" ");
303          }
304          System.out.println();
305        }
306   }
307 
308 }
309 //输入十个数,按照升序排序,并输出排序结果
310 package test;
311 
312 import java.util.Arrays;
313 import java.util.Scanner;
314 
315 public class test2_1 {
316     public static int [] sort(int []a){
317        /*for (int i = 0; i < a.length; i++) {
318              for (int j = i + 1; j < a.length; j++) {
319              if (a[i] > a[j]) {
320                     int temp = a[i];
321                         a[i] = a[j];
322                     a[j] = temp;
323                 }
324             }
325         }*/
326       for(int i=0;i<a.length-1;++i) {
327         int min=i;
328         for(int j=i+1;j<a.length;++j) {
329           if(a[j]<a[min]) {
330             min=j;
331           }
332         }
333         if(i!=min) {
334           int t=a[i];
335           a[i]=a[min];
336           a[min]=t;
337         }
338       }
339       return a;
340     }
341   public static void main(String[] args) {
342     // TODO Auto-generated method stub
343         int []a=new int[10];
344         //int b[]= {1,0,9,8,7,6,5,4,3,2,};
345         //Arrays.sort(b);//更快
346         for(int i=0;i<a.length;++i) {
347           Scanner in=new Scanner(System.in);
348           a[i]=in.nextInt();
349         }
350         System.out.println("排序前的数据为");
351         for(int i=0;i<a.length;++i) {
352           System.out.print(a[i]+" ");
353         }
354         System.out.println();
355         int []b=sort(a);
356         System.out.println("排序后的数据为");
357         for(int i=0;i<b.length;++i) {
358           System.out.print(b[i]+" ");
359         }
360         
361   }
362 
363 }
364 //有n个数据,存放在数组a中,现输入一个数据x,在数组a中查找数据x是否存在,如果存在
365 //则输出第一次出现的位置号,否则,输出-1
366 package test;
367 
368 import java.util.Scanner;
369 
370 public class test2_2 {
371     public static int find(int []a,int x) {
372         int t=0;
373       for(int i=0;i<a.length;++i) {
374           if(x==a[i]) {
375              t=i;
376              break;
377           }
378           else
379           {
380              t=-1;
381           }
382         }
383         return t;
384     }
385   public static void main(String[] args) {
386     // TODO Auto-generated method stub
387        int []a= {1,2,3,4,5,6,7,8,9,0};
388        int x;
389        Scanner in=new Scanner(System.in);
390        System.out.println("请输入要查找的数:");
391        x=in.nextInt();
392        System.out.println("要查找的数据的位置为:"+find(a, x));
393   }
394 
395 }
396 //有n个数据,存放在数组a中,现输入一个数据x,要在数组a中y数据第一次出现的位置后
397 //插入数据x,如果y在数组a中,则将x插入到数组a的首位置
398 package test;
399 
400 import java.util.Scanner;
401 
402 public class test2_3 {
403   public static int find(int []a,int x) {//查找数据y
404         int t=0;
405       for(int i=0;i<a.length;++i) {
406           if(x==a[i]) {
407              t=i;
408              break;
409           }
410           else
411           {
412              t=-1;
413           }
414         }
415         return t;
416     }
417   public static int [] insert(int []a,int y,int x) {//插入数据
418     int p=find(a, y);
419         if(p==-1)
420         {
421           for(int i=a.length-2;i>=0;--i) {
422             a[i+1]=a[i];
423           }
424           a[0]=x;
425         }
426         else
427         {
428           for(int i=a.length-2;i>=p+1;--i) {
429             a[i+1]=a[i];
430           }
431           a[p+1]=x;
432         }
433         return a;
434   }
435   public static void main(String[] args) {
436     // TODO Auto-generated method stub
437      int[]a=new int[11];
438        for(int i=0;i<a.length-1;++i)//初始化数组
439        {
440          a[i]=i;
441        }
442        System.out.println("初始化数据为:");
443          for(int e:a) {//增强for语句
444            System.out.print(e+" ");
445          }
446          System.out.println();
447        System.out.println("请输入要在哪个元素后插入和插入的数据元素为:");
448        Scanner in=new Scanner(System.in);
449        int y=in.nextInt();
450        int x=in.nextInt();   
451        int []b=insert(a,y,x);
452        System.out.println("插入后的数据元素为:");
453        for(int i=0;i<b.length;++i) {
454          System.out.print(b[i]+" ");
455        }
456   }
457 
458 }
459 //同上题将x插入到y之前
460 package test;
461 
462 import java.util.Scanner;
463 
464 public class test2_4 {
465   public static int find(int []a,int x) {//查找数据y
466         int t=0;
467       for(int i=0;i<a.length;++i) {
468           if(x==a[i]) {
469              t=i;
470              break;
471           }
472           else
473           {
474              t=-1;
475           }
476         }
477         return t;
478     }
479   public static int [] insert(int []a,int y,int x) {//插入数据
480     int p=find(a, y);
481         if(p==-1)
482         {
483           for(int i=a.length-2;i>=0;--i) {
484             a[i+1]=a[i];
485           }
486           a[0]=x;
487         }
488         else
489         {
490           for(int i=a.length-2;i>=p-1;--i) {
491             a[i+1]=a[i];
492           }
493           a[p]=x;
494         }
495         return a;
496   }
497   public static void main(String[] args) {
498     // TODO Auto-generated method stub
499      int[]a=new int[11];
500        for(int i=0;i<a.length-1;++i)//初始化数组
501        {
502          a[i]=i;
503        }
504        System.out.println("初始化数据为:");
505     for(int e:a) {//增强for语句
506       System.out.print(e+" ");
507     }
508     System.out.println();
509        System.out.println("请输入要在哪个元素前插入和插入的数据元素为:");
510        Scanner in=new Scanner(System.in);
511        int y=in.nextInt();
512        int x=in.nextInt();   
513        int []b=insert(a,y,x);
514        System.out.println("插入后的数据元素为:");
515        for(int i=0;i<b.length;++i) {
516          System.out.print(b[i]+" ");
517        }
518   }
519 
520 }
521 //有n个数据,存放在数组a中,现输入一个数据x,要在数组a中删除第一次出现的x
522 package test;
523 
524 import java.util.Scanner;
525 
526 public class test2_5 {
527   //删除全部x
528   /*public static void dele(int []a,int x) {
529     for(int i=0;i<a.length;++i) {
530       if(a[i]==x)
531       {
532         a[i]=666;
533       }
534     }
535     for(int i=0;i<a.length;++i) {
536       if(a[i]!=666) {
537         System.out.print(a[i]+" ");
538       }
539     }
540     
541   }*/
542   //删除第一个x
543   public static int find(int[] a, int x) {// 查找数据x
544     int t = 0;
545     for (int i = 0; i < a.length; ++i) {
546       if (x == a[i]) {
547         t = i;
548         break;
549       } else {
550         t = -1;
551       }
552     }
553     return t;
554   }
555 
556   public static int[] dele(int[] a, int x) {
557     int d = find(a, x);
558     int []b=new int[a.length-1];
559     for(int i=0;i<d;++i) {
560       b[i]=a[i];
561     }
562     for (int i = d; i < a.length-1; ++i) {
563       b[i] = a[i + 1];
564     }
565     return b;
566   }
567 
568   public static void main(String[] args) {
569     // TODO Auto-generated method stub
570     int[] a = new int[10];
571     for (int i = 0; i < a.length; ++i)// 初始化数组
572     {
573       a[i] = i;
574     }
575     System.out.println("初始化数据为:");
576     for(int e:a) {//增强for语句
577       System.out.print(e+" ");
578     }
579     System.out.println();
580     System.out.println("请输入要删除的数据元素为:");
581     Scanner in = new Scanner(System.in);
582     int x = in.nextInt();
583     int[] b = dele(a, x);
584     //dele(a,x)
585     System.out.println("删除后的数据元素为:");
586     for (int i = 0; i < b.length; ++i) {
587       System.out.print(b[i] + " ");
588     }
589   }
590 }
591 //输入10个数,并按照由小到大排序输出,然后再输入一个数据
592 //插入到已排好序中,插入后仍然是由小到大排序
593 package test;
594 
595 import java.util.Arrays;
596 import java.util.Scanner;
597 
598 public class test2_6 {
599     public static int[] fun(int []a,int x) {
600       int []b=new int[a.length+1];
601       b[a.length]=x;
602       for(int i=0;i<a.length;++i) {
603         b[i]=a[i];
604       }
605       Arrays.sort(b);
606       return b;
607     }
608   public static void main(String[] args) {
609     // TODO Auto-generated method stub
610     Scanner in = new Scanner(System.in);
611     System.out.println("请输入10个数:");
612     int []a=new int[10];
613     for(int i=0;i<a.length;++i) {
614           a[i]=in.nextInt();
615         }
616     System.out.println("排序后的十个数为:");
617     Arrays.sort(a);//排序
618     for (int i = 0; i < a.length; ++i) {
619       System.out.print(a[i] + " ");
620     }
621     System.out.println();
622     System.out.println("插入x");
623     int x = in.nextInt();
624     int[] b = fun(a,x);
625     System.out.println("排序后的十一个数为:");
626     for (int i = 0; i < b.length; ++i) {
627       System.out.print(b[i] + " ");
628     }
629   }
630 
631 }

 

posted @ 2020-11-21 19:18  丁帅帅dss  阅读(195)  评论(0)    收藏  举报