8
上机练习::
1 编写一个简单程序,要求数组长度为5,分别赋值10,20,30,40,50,在控制台输出该数组的值。
package zjh.sjlx; import java.util.Scanner; public class sjlx1 { /** * @param args */ public static void main(String[] args) { // 编写一个简单程序,要求数组长度为5,分别赋值10,20,30,40,50,在控制台输出该数组的值。 int []a={10,20,30,40,50} ; for (int i = 0; i < a.length; i++) { System.out.println(" "+a[i]); } } }
2 将一个字符数组的值(neusofteducation)拷贝到另一个字符数组中。
package zjh.sjlx; public class sjlx2 { /** * @param args */ public static void main(String[] args) { // 将一个字符数组的值(neusofteducation)拷贝到另一个字符数组中。 char []a={'c','h','i','n','a'}; char []b=new char[a.length]; for (int i = 0; i < a.length; i++) { System.arraycopy(a, 0, b, 0, a.length); System.out.print(" "+b[i]); } } }
3 给定一个有9个整数(1,6,2,3,9,4,5,7,8)的数组,先排序,然后输出排序后的数组的值。
package zjh.sjlx; public class sjlx3 { /** * @param args */ public static void main(String[] args) { // 3、给定一个有9个整数(1,6,2,3,9,4,5,7,8)的数组,先排序,然后输出排序后的数组的值。 int []a={1,6,2,3,9,4,5,7,8}; for (int i = 0; i < a.length-1; i++) { for (int j = 0; j < a.length-1-i; j++) { if(a[j]>a[j+1]){ int x=a[j]; a[j]=a[j+1]; a[j+1]=x;} } } for(int i:a){ System.out.println(i); } } }
4 输出一个double型二维数组(长度分别为5、4,值自己设定)的值。
package zjh.sjlx; public class sjlx4 { /** * @param args */ public static void main(String[] args) { // 输出一个double型二维数组(长度分别为5、4,值自己设定)的值。 double [][]a={{1,2,3,4},{5,4,9,6},{4,6,5,2},{6,3,5,2},{5,2,1,3}}; for (int i = 0; i < a.length; i++) { for (int j = 0; j < a.length-1; j++) { System.out.println(" "+a[i][j]); } } } }
5. 在一个有8个整数(18,25,7,36,13,2,89,63)的数组中找出其中最大的数及其下标。
package zjh.sjlx; public class sjlx5 { /** * @param args */ public static void main(String[] args) { // 在一个有8个整数(18,25,7,36,13,2,89,63)的数组中找出其中最大的数及其下标。 int []a={18,25,7,36,13,2,89,63}; int max=a[0]; int maxidx=0; for (int i = 0; i < a.length; i++) { if (max<a[i]) { max=a[i]; maxidx=i; } }System.out.println("最大的数为:"+max+"\n它的下标为:"+maxidx); } }
课后作业:
6.将一个数组中的元素逆序存放(知识点:数组遍历、数组元素访问)
package zjh.khzy; import java.util.Scanner; public class khzy1 { /** * @param args */ public static void main(String[] args) { // 将一个数组中的元素逆序存放(知识点:数组遍历、数组元素访问) Scanner input=new Scanner(System.in); System.out.println("请输入数组的长度"); int x=input.nextInt(); System.out.println("请输入数组元素"); int a[]=new int[x]; for (int i = 0; i < a.length; i++) { a[i]=input.nextInt(); } int b; for (int i = 0; i < (a.length)/2; i++) { b=a[i]; a[i]=a[a.length-i-1]; a[a.length-i-1]=b; } for (int i = 0; i < a.length; i++) { System.out.print(a[i]+" "); } } }
7.将一个数组中的重复元素保留一个其他的清零。(知识点:数组遍历、数组元素访问)
package zjh.khzy; public class khzy2 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int a[]={1,1,2,3,5,4,4}; for (int i = 0; i < a.length; i++) { for (int j = 0; j < a.length; j++) { if (a[i]==a[j]&&i!=j) { a[j]=0; } } } for (int i = 0; i < a.length; i++) { System.out.println(a[i]); } } }
8.给定一维数组{ -10,2,3,246,-100,0,5},计算出数组中的平均值、最大值、最小值。(知识点:数组遍历、数组元素访问)
package zjh.khzy; public class khzy3 { /** * @param args */ public static void main(String[] args) { // 给定一维数组{ -10,2,3,246,-100,0,5}, //计算出数组中的平均值、最大值、最小值。(知识点:数组遍历、数组元素访问) int a[]=new int[]{-10,2,3,246,-100,0,5}; int sum=0,average=0,max=a[0],min=a[0]; for (int i = 0; i < a.length-1; i++) { sum+=a[i]; } average=sum/a.length; int x; for (int i = 1; i < a.length; i++) { if (max<a[i]) { x=a[i]; a[i]=max; max=x; } if (min>a[i]) { x=a[i]; a[i]=min; min=x; } }System.out.println("数组中最大值为:"+max+" 数组中最小值为:"+min+" 数组平均值为"+average); } }
9、使用数组存放裴波那契数列的前20项 ,并输出 1 1 2 3 5 8 13 21
package zjh.khzy; public class khzy4 { /** * @param args */ public static void main(String[] args) { // 9、使用数组存放裴波那契数列的前20项 ,并输出 1 1 2 3 5 8 13 21 int a[]=new int[20]; a[0]=1; a[1]=1; for (int i = 2; i < a.length; i++) { a[i]=a[i-1]+a[i-2]; } for (int i = 0; i < a.length; i++) { System.out.print(a[i]+","); } } }
生成一个长度为10的随机整数数组(每个数都是0-100之间),输出,排序后,再输出
package zjh.khzy; import java.util.Random; public class khzy5 { /** * @param args */ /** * @param args */ public static void main(String[] args) { // 生成一个长度为10的随机整数数组(每个数都是0-100之间),输出,排序后,再输出 Random a=new Random(); int b[]=new int[10]; for (int i = 0; i < b.length; i++) { int c=a.nextInt(101); b[i]=c; } System.out.print("随机数组为:"); for (int i = 0; i < b.length; i++) { System.out.print(b[i]+" "); } for (int i = 0; i < b.length-1; i++) { for (int j = 0; j < b.length-i-1; j++) { if (b[i]>b[j]) { int x; x=b[i]; b[i]=b[j]; b[j]=x; } } } System.out.print("\n排序后为:"); for (int i = 0; i < b.length; i++) { System.out.print(b[i]+" "); } } }