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 }
道阻且长,行则将至

浙公网安备 33010602011771号