Java基础学习到进阶自我总结
2019-12-24
Java数组的基本操作 有什么不对或不足的欢迎指点。
求4位数每一位的值
//求4位数每一位数的值 int q,b,s,g,a=1234; q = a/1000; b = a/100%10; s = a/10%10; g = a%10; //ps 题外知识 char c = a; //字符 只能存放一个字符 String str = ""; str = c+""; //所有的基本数据类型转换为字符串 +"";
求数组的最大最小和平均值(取两位小数)
/* *求数组的最大和最小值,和平均值 */ int max = as[0],min=as[0]; int sum = as[0]; for (int i = 1; i < as.length; i++) { sum += as[i]; if (as[i]>max) { max = as[i]; } if(as[i]<min){ min = as[i]; } } /* *求平均值并取两位小数 */ avg = sum*1.0/as.length //求双精度的平均值 //取到数小数点后两位的第一种方法 avg = Math.round(avg*100)*1.0/100; //乘100再四舍五入取整数,转换乘双精度,然后在除以100 //取小数点后两位的第二种方法:得到的值为字符串 DecimalFormat dFormat = new DecimalFormat("#.##");//小数点后面多少个#就多少位,也是四舍五入 String str = dFormat.format(avg);
找出数组中重复的元素
// An highlighted block int as[] = { 23,10,15,10,20,48,20,20,20}; boolean flat = false; String str = ""; for (int i = 0; i < as.length; i++) { for (int j = i+1; j < as.length; j++) { if (as[i]==as[j]) { //第一个","不输出 if (flat) { //if(flat)相当于if(flat==true) str = str + ","; } str = str +as[i]; flat = true; break; } } } System.out.println(str);
数组长度自动增长练习
/** * 数组长度自动增长练习01 * @author Administrator *有数组int as[] = {0,1,12,0,15,56,0,78,32,0,0,12}, *利用数组的知识实现取出数组as的0,然后输出没有0的数组的值。 */ int as[] = { 0,1,12,0,15,56,0,78,32,0,0,12}; System.out.println(Arrays.toString(as)); int nas[] = { }; for(int a : as){ //foreach遍历数组 if(a!=0){ //nas数组长度为0每加1长度添加一个集合 nas = Arrays.copyOf(nas, nas.length+1); //给nas[nas长度-1]位置赋值 nas[nas.length-1] = a; } } System.out.println(Arrays.toString(nas));