#数组课后作业
##/1、编写一个简单程序,要求数组长度为5,分别赋值10,20,30,40,50,在控制台输出该数组的值。
(知识点:数组定义和创建、一维数组初始化)[必做题]
int[] a=new int[5];
for(int i=0;i<5;i++) {
a[i]=10*(i+1);
}
for(int i:a) {
System.out.println(i);
}
##2、将一个字符数组的值(neusofteducation)拷贝到另一个字符数组中。(知识点:数组复制) [必做题]
char[] a=new char[] {'n','e','u','s','o','f','t','e','d','u','c','a','t','i','o','n'};
char[] b=new char[a.length];
for(int i=0;i<a.length;i++) {
b[i]=a[i];
}
for(int i:a) {System.out.print((char)i);}
System.out.println();
// System.out.println();
// for(int i:b) {System.out.print((char)i);}
Arrays.toString(b);
System.out.println(b);
##//3、给定一个有9个整数(1,6,2,3,9,4,5,7,8)的数组,先排序,然后输出排序后的数组的值。
// (知识点:Arrays.sort排序、冒泡排序) [必做题]
int[] arr= {1,6,2,3,9,4,5,7,8};
// int temp=0;
// for(int i=0;i<arr.length-1;i++) {
// for(int j=0;j<arr.length-i-1;j++) {
// if(arr[j]>arr[j+1]) {
// temp=arr[j];
// arr[j]=arr[j+1];
// arr[j+1]=temp;
// }
// }
// }
Arrays.sort(arr);
for(int i:arr) {
System.out.println(i);
}
##// 4、 输出一个double型二维数组(长度分别为5、4,值自己设定)的值。
// (知识点:数组定义和创建、多维数组初始化、数组遍历) [必做题]
double[][] a=new double[][] {{1.3,2,3,4},{1,2.2,3,4.5},{1,2.1,3,4},{1,2,3,4},{1,2,3,4}};
for(int i=0;i<5;i++) {
for(int j=0;j<4;j++) {
System.out.print(a[i][j]+" ");
}System.out.println();
}
##5、 在一个有8个整数(18,25,7,36,13,2,89,63)
的数组中找出其中最大的数及其下标。(知识点:数组遍历、数组元素访问) [必做题]
int[] n={18,25,7,36,13,2,89,63};
int max=n[0],b=0;
for(int i=1;i<n.length;i++) {
if(max<n[i]) {
max=n[i];
b=i;
}
}
System.out.println("最大的数是"+max+"下标为"+b);
##2、将一个数组中的元素逆序存放(知识点:数组遍历、数组元素访问) [选作题]
int[] a= {1,6,3,8,5};
// for(int i=a.length-1;i>=0;i--) {
// System.out.println(a[i]);
// }
int temp=0;
for(int i=0;i<a.length/2;i++) {
temp=a[i];
a[i]=a[a.length-i-1];
a[a.length-i-1]=temp;
}
System.out.println(Arrays.toString(a));
##//3. 将一个数组中的重复元素保留一个其他的清零。(知识点:数组遍历、数组元素访问) [选作题]
int[] a=new int[] {11,12,11,13,15,5,12};
for(int i=0;i<a.length-1;i++) {
for(int j=i+1;j<a.length;j++) {
if(a[i]==a[j]) {a[j]=0;
}
}
}
// for(int i:a) {
// System.out.println(i);
// }
System.out.println(Arrays.toString(a));