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));
