第八周作业
1、编写一个简单程序,要求数组长度为5,分别赋值10,20,30,40,50,在控制台输出该数组的值。
public class A { /** * @param args */ //. public static void main(String[] args) { int []arr={10,20,30,40,50}; for(int i=0;i<arr.length;i++){ System.out.println(arr[i]); } } }
2、将一个字符数组的值(neusofteducation)拷贝到另一个字符数组中。
public class A { /** * @param args */ //. public static void main(String[] args) { char []Arr={'A','B','C','D','E'}; char []Arr2={'G','K','L','M','N'}; System.out.println("替换前"); for(char d : Arr2){ System.out.print(d+" "); } System.arraycopy(Arr, 0, Arr2, 0, 3); System.out.println(); System.out.println("替换后"); for(char c : Arr2){ System.out.print(c+" "); } } }
3、给定一个有9个整数(1,6,2,3,9,4,5,7,8)的数组,先排序,然后输出排序后的数组的值。
public class A { /** * @param args */ //. public static void main(String[] args) { int []arr={1,6,2,3,9,4,5,7,8}; 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]){ int temp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; } } System.out.println(arr[i]); } } }
4、 输出一个double型二维数组(长度分别为5、4,值自己设定)的值。
public class A { /** * @param args */ // public static void main(String[] args) { double [][]arr=new double[5][4]; for(int i=0;i<20;i++){ arr[i/4][i%4]=i; } for(int j=0;j<arr.length;j++){ for(int k=0;k<arr[j].length;k++){ System.out.print(arr[j][k]+"\t"); } System.out.println(); } } }
5、 在一个有8个整数(18,25,7,36,13,2,89,63)的数组中找出其中最大的数及其下标。
public class A { /** * @param args */ // public static void main(String[] args) { int []arr={18,25,7,36,13,2,89,63}; int max=arr[0]; int maxid=arr[0]; for(int i=1;i<arr.length;i++){ if(arr[i]>max){ max=arr[i]; maxid=i; } } System.out.print("最大值是"+max+"\n下标是"+maxid); } }
6、将一个数组中的元素逆序存放
public class A { /** * @param args */ // public static void main(String[] args) { int []arr={2,3,6,4,3,8}; for(int j=0;j<arr.length;j++){ System.out.print(arr[j]+" "); } System.out.println(); System.out.println("倒叙输出"); for(int i=arr.length-1;i>=0;i--){ System.out.print(arr[i]+" "); } } }
7. 将一个数组中的重复元素保留一个其他的清零。
public class A { /** * @param args */ // public static void main(String[] args) { int []arr={2,2,3,3,4,4,5,5,6,6}; for(int i=0;i<arr.length;i++){ System.out.print(arr[i]+" "); } System.out.println(); System.out.println("重复项清零"); for(int j=0;j<arr.length;j++){ for(int k=j+1;k<arr.length;k++){ if(arr[j]==arr[k]) arr[k]=0; } } for(int j=0;j<arr.length;j++){ System.out.print(arr[j]+" "); } } }
8、给定一维数组{ -10,2,3,246,-100,0,5},计算出数组中的平均值、最大值、最小值。
public class A { /** * @param args */ // public static void main(String[] args) { int []arr={-10,2,3,246,-100,0,5}; double p,sum;//平均值 int max,min; sum=0; max=arr[0]; min=arr[0]; for(int i=1;i<arr.length;i++){ if(arr[i]>max) max=arr[i]; if(arr[i]<min) min=arr[i]; } for(int k=0;k<arr.length;k++){ sum+=arr[k]; } p=sum/7; System.out.print("最大值是"+max+"\n最小值是"+min+"\n平均值是"+p); } }
9、使用数组存放裴波那契数列的前20项 ,并输出 1 1 2 3 5 8 13 21
public class A { /** * @param args */ // public static void main(String[] args) { int []arr=new int[20]; int a,sum; a=1; sum=0; for(int i=1;i<=arr.length;i++){ sum+=a; a=sum-a; System.out.print(sum+"\t"); } } }
10、生成一个长度为10的随机整数数组(每个数都是0-100之间),输出,排序后,再输出
import java.util.Random; public class A { /** * @param args */ // public static void main(String[] args) { Random r=new Random(); int []arr=new int[10]; for(int i=0;i<arr.length;i++){ arr[i]=r.nextInt(101); System.out.print(arr[i]+"\t"); } for(int j=0;j<arr.length;j++){ for(int k=j;k<arr.length;k++){ if(arr[j]>arr[k]){ int temp=arr[j]; arr[j]=arr[k]; arr[k]=temp; } } } System.out.println(); System.out.println("排序后"); for(int f=0;f<arr.length;f++){ System.out.print(arr[f]+"\t"); } } }