Java中 数组作业的练习
来源:互联网 发布:mono软件 编辑:程序博客网 时间:2024/04/28 03:57
Java中 数组的练习
结合上一篇的数组复习,本篇给出一些数组的练习
实例代码一:
package cn.com.blog.array;import java.util.Scanner;/* * 1.已知一个数组,求数组中心元素。2.已知一个数组,求所有元素和。3.已知一个数组,输出所有奇数下标元素。4.已知一个数组,输出所有元素中,值为奇数的。5.已知一个数组,将所有元素乘二。6.已知一个数组,将所有元素加到第一个元素中。7.已知一个数组A,将奇数位置元素存到B数组中,偶数元素存到C数组中。 */public class ArrayExe01 { public static void main(String[] args) { int array [] = {2,432,5221,235,2,5352,1,53,5,3,5364,2,2,63,3533,2,53,532,532}; Scanner scan = new Scanner(System.in); int num = scan.nextInt(); if(num == 1){ System.out.println(ArrayExe01.getMidInfo(array)); }if(num == 2){ System.out.println(ArrayExe01.getSum(array)); }if(num == 3){ ArrayExe01.print(array); }if(num == 4){ ArrayExe01.print1(array); }if(num == 5){ System.out.println(ArrayExe01.getArray(array)); }if(num == 6){ System.out.println(ArrayExe01.getFirstSum(array)); }if(num == 7){ ArrayExe01.newArray(array); } } // 1.当长度为偶数的时候取的是后面那个 public static int getMidInfo(int array[]){ int length = array.length; return array[length / 2]; } // 2.数组为int类型 public static int getSum(int array[]){ int sum= 0; for(int i =0 ;i< array.length;i++){ sum += array[i]; } return sum; } // 3.循环步进为2即可 public static void print(int array[]){ for (int i = 0; i < array.length; i+=2) { System.out.println(array[i]); } } // 4.数组为int类型 public static void print1(int array[]){ for (int i = 0; i < array.length; i++) { if(array[i] % 2 == 0){ System.out.println(array[i]); } } } // 5.将参数的副本作为返回值再次回传 public static int[] getArray(int array[]){ for(int i =0 ;i < array.length;i++){ array[i] = array[i] * 2; } return array; } // 6.返回第一个元素的值 public static int getFirstSum(int array[]){ int one = array[0]; for(int i = 1 ;i< array.length;i++){ one = one + array[i]; } return one; } // 7.只作为输出 public static void newArray(int array[]){ for(int i =0 ;i<array.length;i++){ if(array[i] % 2==0){ System.out.println("偶数: "+array[i]); }else{ System.out.println("奇数: "+array[i]); } } } }
实例代码二:
package cn.com.blog.array;import java.util.Random;/** * * @author fcs * 2014年9月12日 * ArrayExe02 * 说明: * 1.把A数组的前5个元素复制到B数组中。2.把1----36分别放入数组中,计算数组对角元素之和。6 * 6的数组3.判断一个数组是否对称。4.有一个长度是10的数组,数组内有10个不重复的数字,要求按从大到小排序。5.有一个长度是10的数组,要求删除某一个位置的元素,后边元素前置。6.有一个长度是10的数组,按递增排列,用户输入一个数,插入适当位置。7.有一个长度是10的数组,数组内有10个人名,要求去掉重复的8.把A数组的第三到第六位之间的元素删除。9.已知A数组,B数组,定义一个数组C,要求C包含A,B数组中的数据(无重复值)。 */public class ArrayExe02 { public static void main(String[] args) { int array [] = {2,4,1,5,6,7,3,8,9,0}; ArrayExe02.sortArray(array); Random rand = new Random(); int array1 [] = new int [12]; for(int i = 0;i< 10;i++){ array1[i] = rand.nextInt(10); } System.out.println("------------------------------------"); ArrayExe02.insert(array1, 10); System.out.println("------------------------------------"); int array2 [] = new int [10]; for(int i =0;i< 10;i++){ array2[i] = rand.nextInt(10); } ArrayExe02.deleteRe(array2); ArrayExe02.getSum1(array1, array2); } //1.注意数组下标越界 public static int [] newArry(int array[]){ int narr [] = new int [5]; int length = array.length > 5 ? 5 : array.length; for(int i =0 ;i< 5;i++){ narr[i] = array[i]; } return narr; } //2.for循环赋值 public static int getSum(){ int array [][] = new int [6][6]; int num = 0; for(int i =0 ;i < 6;i++){ for(int j = 0;j < 6;j++ ){ array[i][j] = num++; } } int sum = 0; for(int i =0;i < 6;i++){ for(int j =0 ;j< 6;j++){ if(i==j || i+j == 5){ sum += array[i][j]; } } } return sum ; } //3数组的对称问题 public static void getMId(){ //一维数组 //二维数组的对称矩阵 int array [] = {1,2,3,4,4,3,2,1}; boolean b = false; for(int i =0 ;i< array.length / 2;i++){ if(array[i] != array[array.length - i]){ b = true; } } if(b){ System.out.println("不是对称数组"); }else{ System.out.println("是对称数组"); } boolean b1 = false; int array1 [] [] = {{1,2,3,4},{2,1,4,3},{3,4,1,2},{4,3,2,1}}; for(int i =0 ;i<4;i++){ for(int j = 0;j < i;j++){ if(array1[i][j] != array1[j][i]){ b1 = true; } } } if(b1){ System.out.println("不是对称数组"); }else{ System.out.println("是对称数组"); } //还有一种情况,在此不做讨论。 } //4.数组的排序问题,这里使用冒泡排序 public static void sortArray(int array[]){ for(int i =0 ;i < array.length -1;i++){ for(int j = i;j < array.length;j++ ){ if(array[i] < array[j]){ int temp = array[i]; array[i] = array[j]; array[j] = temp; } } } for(int i = 0;i< array.length;i++){ System.out.println(array[i]); } } //5.数组的删除操作 public static void delete(int array[],int index){ if(array.length <= index){ System.out.println("数组下标错误。。。。"); return; } int a = array[index]; for(int i = index+1;i<array.length;i++){ array[i - 1] = array[i]; } for(int i =0 ;i< array.length;i++){ System.out.println(array[i]); } } //6.数组的插入 public static void insert(int array [],int value){ array[10] = value; for(int i =0 ;i < 11;i++){ for(int j = i;j < array.length;j++ ){ if(array[i] > array[j]){ int temp = array[i]; array[i] = array[j]; array[j] = temp; } } } for(int i =0 ;i<array.length;i++){ System.out.print(array[i]+" , "); } } //7.去除重复元素 public static void deleteRe(int array [] ){ for(int i =0 ;i<array.length;i++){ System.out.print(array[i]+" , "); } boolean brr [] = new boolean [array.length];; for(int i =0 ;i < array.length - 1 ;i++ ){ for(int j = i+1;j< array.length;j ++){ if(array[i] == array[j] && brr[j] != true){ brr[j] = true; } } } System.out.println("--------------------"); for(int i =0 ;i< array.length;i++){ if(brr[i] ==false){ System.out.print(array[i]+" , "); } } } //8.采用数组的赋值 public static void deleteTo(int array [] ){ for(int i =0 ;i<array.length;i++){ if(i < 2 && i > 5){ System.out.print(array[i]+" , "); } } } //9.先合并再去除重复元素 public static void getSum1(int A [],int B[]){ System.out.println("9.先合并再去除重复元素"); int array [] = new int [A.length+B.length]; for(int i =0;i<array.length;i++){ if(i < A.length){ array[i] = A[i]; }else{ array[i] = B[i - A.length]; } } deleteRe(array); }}
其实很多不大的项目或者题目中,数组通常会很有帮助,而且简单易用,这里只是列出一些比较浅显的题目和自己的测试。
0 0
- Java中 数组作业的练习
- Java数组练习中遇到的问题
- JAVA 第一课实习作业: 数组扩容练习
- java中对数组的排序的基本练习
- Java数组的相关练习
- Android中service、sqlite学习的练习作业
- java 设计作业——学生类的基本练习
- [Java] 作业5 (数组)
- Java数组&排序作业
- delphi中记录数组的使用练习
- java有关于数组的几个练习
- Java数组练习
- JAVA数组练习
- Java数组练习
- Java数组练习
- Java数组练习
- Java练习:数组
- Java数组练习
- 什么是强类型变量?
- mongodb - 多个执行事务 Perform Two Phase Commits
- 找工作日记--广联达笔试and面试
- ASP.NET系列:常见问题集
- goagent的uploader上传失败 错误代码507
- Java中 数组作业的练习
- 【android】Sqlite中使用SQL与其他数据库的区别
- java序列化讲解
- Java 基础之String的基本方法(1)
- Python中的staticmethod和classmethod 的异同
- LoadRunner 安装方法(windows/LINUX)
- 7.旋转数字
- android 创建文件,判断文件路径等各种操作
- 复合对象