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 }
Java数组作业的更多相关文章
- JAVA 数组作业——动手动脑以及课后实验性问题
JAVA课后作业——动手动脑 一:阅读并运行示例PassArray.java,观察并分析程序输出的结果,小结,然后与下页幻灯片所讲的内容进行对照. 1.源代码 // PassArray.java // ...
- JAVA大作业汇总3
JAVA大作业3 代码 ``` package thegreatwork; import java.util.; import java.io.; /Board.java 目的:里面有一些关于如何移动 ...
- <JAVA - 大作业(1)文本编辑器 >
<JAVA - 大作业(1)文本编辑器 > 背景 JAVA上机大作业:qq / 代码评价系统 第一次上机主题是练习JAVA自带的GUI图形化编程 目的:实现一个跟window10记事本界面 ...
- Java 数组
数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同. Java语言中提供的数组是用来存储固定大小的同类型元素. 你可以声明一个数组变量,如numbers[100 ...
- 第5章 Java数组
1.什么是数组 数组可以想象成一个巨大的盒子,这个盒子里面存放的是同一个数据类型的数据 例如:int[] scores = {78,68,94,93}; 2.如何使用Java中的数组 2.1申明数组 ...
- Java 数组基础
数组 数组(Array):相同类型数据的集合. 定义数组 方式1(推荐,更能表明数组类型) type[] 变量名 = new type[数组中元素的个数]; 比如: int[] a = new int ...
- Java数组及其内存分配
几乎所有的程序设计语言都支持数组.Java也不例外.当我们需要多个类型相同的变量的时候,就考虑定义一个数组.在Java中,数组变量是引用类型的变量,同时因为Java是典型的静态语言,因此它的数组也是静 ...
- [转载]Java数组扩容算法及Java对它的应用
原文链接:http://www.cnblogs.com/gw811/archive/2012/10/07/2714252.html Java数组扩容的原理 1)Java数组对象的大小是固定不变的,数组 ...
- Java数组技巧攻略
Java数组技巧攻略 0. 声明一个数组(Declare an array) String[] aArray = new String[5]; String[] bArray = {" ...
随机推荐
- puk1521 赫夫曼树编码
Description An entropy encoder is a data encoding method that achieves lossless data compression by ...
- C#数据结构-线程安全队列
什么是线程安全? 答:线程安全是多线程编程时的计算机程序代码中的一个概念.在拥有共享数据的多条线程并行执行的程序中,线程安全的代码会通过同步机制保证各个线程都可以正常且正确的执行,不会出现数据污染等意 ...
- python基础三:函数
def name(参数1,参数2,参数3,...) 可以自定义一些自己需要的函数来简化自己的工作. 如:自定义一个计算函数 def mycount(a,b,c): y=a+b-c return y ...
- PLC扩展模拟量输入模块是什么
PLC模拟量输入模块就是采集电压.电流.热电阻.热电偶或者是温度等模拟量的采集模块,然后再通过总线传输到电脑上的智能模块.其实就是一款将远程现场的模拟量信号采集到计算机的设备,模拟量是表示了在一定的范 ...
- [Luogu P3157][CQOI2011]动态逆序对 (树套树)
题面 传送门:[CQOI2011]动态逆序对 Solution 一开始我看到pty巨神写这套题的时候,第一眼还以为是个SB题:这不直接开倒车线段树统计就完成了吗? 然后冷静思考了一分钟,猛然发现单纯的 ...
- 【Spring Boot】web开发
springboot在开发web项目的时候具备天然的优势,现在的很多企业级开发都是依托于springboot的. 使用springboot的步骤: 1.创建一个SpringBoot应用,选 ...
- 分布式文档存储数据库之MongoDB副本集
前文我们聊到了mongodb的索引的相关作用和介绍以及索引的管理,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/13950287.html:今天我们来聊下mon ...
- maven安装配置及其在IDEA和eclipse开发软件中配置
1.maven下载安装 1.1.前往https://maven.apache.org/download.cgi下载最新版的Maven程序: 1.2.解压到本地,并配置环境变量 (1)path中添加 ( ...
- 性能工具-io工具
I/O:某网上问题通过top iotop pidstat vmstat 工具定位出io高原因,内存不够.
- create-react-app添加对TypeScript支持
背景 最近一直在重构react项目,由于项目历史原因,将之前parcel打包工具换成了webpack,并选择了使用create-react-app作为项目开发脚手架. 接着就是把项目中flow类型检查 ...