java日常学习:数组小练习
来源:互联网 发布:mindmanager注册码mac 编辑:程序博客网 时间:2024/06/04 17:44
java代码段
数组常用小工具
/*数组常用工具类(Arrays); String toString(boolean[] a)返回指定数组内容的字符串表示形式 sort(数组) 排序 binarySearch()二分法 返回的是元素在数组的索引值,如果不存在返回负数表示,且是比它第一个数大的加一;*/import java.util.*;class demo1 { public static void main(String[] args) { int [] arr={1,23,54,3,5,89,16,75,26,25}; Arrays.sort(arr); //排序; int index = Arrays.binarySearch(arr,6); //查找元素; System.out.println("数组中的元素是:"+Arrays.toString(arr)); System.out.println("索引值是:"+index); }}
数组去除零元素并且将剩下的元素储存到新数组,要求不能浪费新数组长度
/*需求:将数组中零元素剔除并且将剩余元素储存到新的数组中,不能浪费新数组的位置;*/import java.util.*;class demo2 { public static void main(String[] args) { int[] arr={0,45,2,8,0,9,7,3,0,9}; int[] newArr = clearZero(arr); System.out.print("新数组元素是:"+Arrays.toString(newArr)); } public static int[] clearZero(int[] oldArr) { //先计算出0的个数; int count =0; for (int i=0;i<oldArr.length ;i++ ){ if (oldArr[i]==0){ count++; } } //新数组长度; int[] newArr = new int[oldArr.length-count]; //定义一个从零开始自增数当储存一个数后; int index=0; //存储剩余元素; for (int i=0;i<oldArr.length ;i++ ){ if (oldArr[i]!=0){ newArr[index++]=oldArr[i]; } } return newArr; }}
消除数组中的重复数组,并且将剩余元素放到新的数组中,要求不浪费数组
/*需求:消除数组中的重复数组,并且将剩余元素放到新的数组中,要求不浪费数组;*/import java.util.*;class demo3 { public static void main(String[] args) { int[] arr={1,1,3,6,8,2,6,74,8,3,6,4}; int[] newArr=clearRepeat(arr); System.out.println("新的数组是:"+ Arrays.toString(newArr)); } public static int[] clearRepeat(int[] oldArr){ //求出重复元素的个数; int count=0; //count变量 是用于记录重复元素的个数; for (int i=0;i<oldArr.length-1 ;i++ ){ for (int j=1+i;j<oldArr.length ;j++ ){ if (oldArr[i]==oldArr[j]){ count++; break ; } } } //创建一个新的数组; int[] newArr=new int[oldArr.length-count]; int index=0; //新数组使用的索引值; for (int i=0;i<oldArr.length ;i++ ){ boolean flag=false; //该标识是用于标识取出的元素是否存在新数组中; int temp=oldArr[i]; //从旧数组中取出遍历的元素; //遍历新的数组是否存在该数据; for (int j=0;j<newArr.length ;j++ ){ if (newArr[j]==temp){ flag=true; break ; } } if (flag==false){ //注意**********这里是双等于号; newArr[index++]=temp; } } return newArr; }}
有关班级及格率的数组合格综合练习
/*用户输入班级的人数,然后依次输入每个同学的成绩. 输入完毕之后,如果及格率没有达到60%, 就为每一位没有及格的成绩加2分,直到及格率达到60%为止。 */import java.util.*;class demo4 { public static void main(String[] args){ int[] arr = myData(); double data=jiGe(arr); //得到本班的及格率; while(true){ if (data<0.6) { for (int i=0;i<arr.length ;i++ ){ if (arr[i]<60){ arr[i]=arr[i]+2; } data = jiGe(arr); //重新计算及格率; } }else{ break ; } } System.out.println("数组元素"+Arrays.toString(arr)); System.out.println("及格率是:"+data*100+"%"); } //计算及格率; public static double jiGe(int[] arr) { double count = 0; //定义一个变量记录及格的人数; for (int i=0;i<arr.length ;i++ ){ if (arr[i]>=60){ count++; } } double data=count/arr.length; // data记录及格率; return data; } //首先,要返回自己定义的数组; public static int[] myData(){ System.out.println("请输入班级的人数:"); Scanner scanner=new Scanner(System.in); int count=scanner.nextInt(); int[] arr =new int[count]; //创建一个数组对象; //录入成绩; for (int i=0;i<count ;i++ ){ System.out.println("请输入第"+(i+1)+"位同学的成绩:"); arr[i] = scanner.nextInt(); } return arr; }}
用于平时自己复习回顾,如有错误,欢迎指正
阅读全文
0 0
- java日常学习:数组小练习
- java日常学习:构造函数练习
- java ssm学习日常小问题
- Java新手日常练习
- 【JAVA 日常练习】+ IO
- [c++,小练习] 日常小程序_1
- [c++,小练习] 日常小程序_2
- java数组操作排序小练习
- java日常小笔记
- java ssm学习中的日常问题小日记
- java日常学习:反转数组里的元素
- Java学习之小练习二
- Java学习之小练习三
- 对象数组小练习
- 数组小练习
- 三维数组小练习
- 数组方法小练习
- 学习笔记—java数组与练习
- 特斯拉想上海建厂 外媒:欲在华成功 它必须降价 | 行业
- 删除字符串最后一个字符的几种方法
- 【ZOJ
- 第三次实验
- WEBGL学习【五】纹理贴图
- java日常学习:数组小练习
- 方法的重载
- 实验四:Linux系统管理
- 自定义view
- 有了它,从此成为自带BGM的主角~
- 如何解读决策树和随机森林的内部工作机制?
- Java发展史
- 内存对齐
- VPS安装Hexo博客傻瓜式教程(系统:Ubuntu 14)