方法就是一段可重复调用的代码段!
方法的重载:一定只是参数上的类型或个数上有所不同。
java新特性:
可变参数
foreach输出
public class Array {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//(1)递归调用
System.out.println("1--100的计算结果:"+sum(100));
//(2)阶乘求和
sumOne(3);
//(3)求数组中奇数和偶数的个数
int arr[]={1,5,4,3,6,4,9};
oddEvnn(arr);
//(4)去除0的个数 //去除一个数组中零的个数
int arro[]={12,6,0,8,5,0,0,7,6,50,0};
wipeZero(arro);
//(5)求一个数组中的元素和,最大值,最小值
int[] arrt={1,4,5,3,5,3,5,7,8,4};
sumMaxMin(arrt);
////将排序好的数组插入合适的位置一个数字
int[] arrth={1,3,4,6,7,8,9};
insert(arrth,5);
}
//递归的调用方法
public static int sum(int num){
if(num==1){
return 1;
}else {
return num+sum(num-1);
}
}
//阶乘求和
public static void sumOne(int k){
int num=1;
int sum=0;
for(int i=1;i<=k;i++){
num=num*i;
sum=sum+num;
}
System.out.println(sum);
}
//求数组中奇数和偶数的个数
public static void oddEvnn(int[] arr){
int oddcount=0;
int evnncount=0;
for(int i=0;i<arr.length;i++){
if(arr[i]%2==0){
evnncount++;
}else {
oddcount++;
}
}
System.out.println("数组中偶数的个数为:"+evnncount+"\n奇数的个数为:"+oddcount);
}
//去除一个数组中零的个数
public static void wipeZero(int[] arr){
//int count=0;
//int temp=0;
for (int i = 0; i < arr.length; i++) {
if(arr[i]==0){
//count=count+1;
continue;
}else{
//temp=arr[i];
System.out.print(" "+arr[i]);
}
}
//System.out.println(arr[i]);
//int[] arrone=new int[arr.length-count];
//return arrone;
}
//求一个数组中的元素和,最大值,最小值
public static void sumMaxMin(int[] arr){
int sum=0;
int max=0;
int min=0;
max=min=arr[0];
for (int i = 0; i < arr.length; i++) {
sum=sum+arr[i];
if (arr[i]>max) {
max=arr[i];
}
if (arr[i]<min) {
min=arr[i];
}
}
System.out.println("\n"+sum);
System.out.println(max);
System.out.println(min);
}
//将排序好的数组插入合适的位置一个数字(错误思考)
public static void insert(int[] arr,int x){
for(int i=0;i<arr.length;i++){
if(x<=arr[i]&&x>arr[i+1]){
for(int j=arr.length-i;j>0;j++){
arr[j]=arr[j-1];
}
arr[i+1]=x;
break;
}
}
}
}