4.23 java作业
1、编写一个简单程序,要求数组长度为5,分别赋值10,20,30,40,50,在控制台输出该数组的值。(知识点:数组定义和创建、一维数组初始化)[必做题]?
1 package XSC; 2 3 public class work { 4 5 /** 6 * @param args 7 */ 8 public static void main(String[] args) { 9 // TODO Auto-generated method stub 10 11 int[] a = {10, 20, 30, 40, 50}; 12 for (int i = 0; i < a.length; i++) { 13 System.out.println(a[i]); 14 } 15 16 } 17 18 }
2、将一个字符数组的值(neusofteducation)拷贝到另一个字符数组中。(知识点:数组复制) [必做题]?
1 package XSC; 2 3 public class work { 4 5 /** 6 * @param args 7 */ 8 public static void main(String[] args) { 9 // TODO Auto-generated method stub 10 11 char[] a = {'n', 'e', 'u', 's', 'o', 'f', 't', 'e', 'd', 'u', 'c', 'a', 't', 'i', 'o', 'n'}; 12 char[] b = new char[a.length]; 13 for (int i = 0; i < a.length; i++) { 14 b[i]=a[i]; 15 System.out.println(b[i]); 16 } 17 18 } 19 20 }
3、给定一个有9个整数(1,6,2,3,9,4,5,7,8)的数组,先排序,然后输出排序后的数组的值。(知识点:Arrays.sort排序、冒泡排序)
1 package XSC; 2 3 public class work { 4 5 /** 6 * @param args 7 */ 8 public static void main(String[] args) { 9 // TODO Auto-generated method stub 10 11 int a[] =new int[]{1,6,2,3,9,4,5,7,8}; 12 for (int i = 0; i < a.length; i++) { 13 for (int j = i; j < a.length; j++) { 14 if(a[i]>a[j]){ 15 int x =a[i]; 16 a[i] =a[j]; 17 a[j] =x; 18 } 19 } 20 } 21 for (int i = 0; i < a.length; i++) { 22 System.out.print(a[i]+" "); 23 } 24 25 } 26 27 }
4、 输出一个double型二维数组(长度分别为5、4,值自己设定)的值。(知识点:数组定义和创建、多维数组初始化、数组遍历)
public class work { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub double a[][] =new double[5][4]; for (int i = 0; i < 5; i++) { for (int j = 0; j < 4; j++) { a[i][j] =i+j; } } 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)的数组中找出其中最大的数及其下标。(知识点:数组遍历、数组元素访问) [必做题]?
1 package XSC; 2 3 public class work { 4 5 /** 6 * @param args 7 */ 8 public static void main(String[] args) { 9 // TODO Auto-generated method stub 10 11 int a[]={18,25,7,36,13,2,89,63}; 12 int max=a[0]; 13 int maxidx=0; 14 for (int i = 1; i < a.length; i++) { 15 if (a[i]>max) { 16 max=a[i]; 17 maxidx=i; 18 } 19 } 20 System.out.println("最大值数是"+max+"它的下标是"+maxidx); 21 22 } 23 24 }
6、将一个数组中的元素逆序存放(知识点:数组遍历、数组元素访问)
1 package XSC; 2 import java.util.Scanner; 3 public class work { 4 5 /** 6 * @param args 7 */ 8 public static void main(String[] args) { 9 // TODO Auto-generated method stub 10 Scanner input=new Scanner(System.in); 11 int a[]=new int[5]; 12 for (int i = a.length; i >0; i--) { 13 a[i-1]=input.nextInt(); 14 } 15 System.out.println("倒序输出"); 16 for (int i = 0; i < a.length; i++) { 17 System.out.print(a[i]+" "); 18 } 19 } 20 21 }
7. 将一个数组中的重复元素保留一个其他的清零。(知识点:数组遍历、数组元素访问)
1 package XSC; 2 import java.util.Scanner; 3 public class work { 4 5 /** 6 * @param args 7 */ 8 public static void main(String[] args) { 9 // TODO Auto-generated method stub 10 Scanner input=new Scanner(System.in); 11 int a[]=new int[10]; 12 for (int i = 0; i < a.length; i++) { 13 a[i]=input.nextInt(); 14 } 15 for (int i = 0; i < a.length-1; i++) { 16 for (int j = i+1; j < a.length; j++) { 17 if(a[i]==a[j]){ 18 a[j]=0; 19 } 20 } 21 } 22 System.out.println("新数组为"); 23 for (int i = 0; i < a.length; i++) { 24 System.out.print(a[i]+" "); 25 } 26 } 27 28 }
8、给定一维数组{ -10,2,3,246,-100,0,5},计算出数组中的平均值、最大值、最小值。(知识点:数组遍历、数组元素访问)
1 package XSC; 2 public class work { 3 4 /** 5 * @param args 6 */ 7 public static void main(String[] args) { 8 // TODO Auto-generated method stub 9 int a[]={-10,2,3,246,-100,0,5}; 10 double max=0,min=0,sum=0,avg=0; 11 max=a[0]; 12 min=a[0]; 13 for (int i = 0; i < a.length; i++) { 14 sum+=a[i]; 15 if (max<a[i]) { 16 max=a[i]; 17 } 18 if (min>a[i]) { 19 min=a[i]; 20 } 21 } 22 avg=sum/7.0; 23 System.out.println("最大值为"+max); 24 System.out.println("最小值为"+min); 25 System.out.println("平均值为"+avg); 26 } 27 28 }
9、使用数组存放裴波那契数列的前20项 ,并输出 1 1 2 3 5 8 13 21
1 package XSC; 2 public class work { 3 4 /** 5 * @param args 6 */ 7 public static void main(String[] args) { 8 // TODO Auto-generated method stub 9 int a[]=new int[20]; 10 a[0]=1;a[1]=1; 11 for(int i=2;i<a.length;i++){ 12 a[i]=a[i-1]+a[i-2]; 13 } 14 for (int i = 0; i < a.length; i++) { 15 System.out.println(a[i]+" "); 16 } 17 18 19 } 20 }
10、生成一个长度为10的随机整数数组(每个数都是0-100之间),输出,排序后,再输出
1 package XSC; 2 3 import java.util.Random; 4 5 public class work { 6 7 /** 8 * @param args 9 */ 10 public static void main(String[] args) { 11 // TODO Auto-generated method stub 12 Random r=new Random(); 13 int a[]=new int[10]; 14 for (int i = 0; i < a.length; i++) { 15 a[i]=r.nextInt(100); 16 System.out.println(a[i]); 17 } 18 int temp=0; 19 for (int i = 0; i < a.length-1; i++) { 20 for (int j = 0; j < a.length-1-i; j++) { 21 if (a[j]<a[j+1]) { 22 temp=a[j]; 23 a[j]=a[j+1]; 24 a[j+1]=temp; 25 } 26 } 27 28 } 29 System.out.println("排序后"); 30 for (int i = 0; i < a.length; i++) { 31 System.out.print(a[i]+" "); 32 } 33 34 35 } 36 }