Java数组与函数的结合

import java.util.Scanner;

public class HelloWorld {
	public static void main(String[] args){
	//	Scanner s = new Scanner(System.in);
	//	System.out.println("请输入一个数字");
	//	int num = s.nextInt();
		//数组与函数的结合
		Scanner s = new Scanner(System.in);
		int []a = {1,2,3,4,5,6};
		reverseArray(a);
		for(int i = 0 ; i < a.length ; i++)
			System.out.println(a[i]);
		int [] b = getSons(10);
		PrintArray(b);
	}
	//实现任意数组的倒置
	//为什么不需要返回值,因为a数组指向了一块内存
	//此时函数形参一样指向了数组a的地址
	//该函数完全没有必要有返回值
	public static void reverseArray(int []a)
	{
		for(int i = 0 ; i < a.length/2 ; i++){
			int t = a[i];
			a[i] = a[a.length-i-1] ; 
			a[a.length-i-1] = t ;
		}
	}
	//计算一个数字因子的个数
	public static int getLenght(int n){
		int count = 0 ; 
		for(int i = 1 ; i <= n / 2 ; i++)
		{
			if(n % i == 0)
				count++ ;
		}
		count++;
		return count ;
	}
	//求一个数的因子(包含1也包含自己),放入数组并返回
	public static int[] getSons(int n){
		int []a = new int[getLenght(n)] ;
		int j = 0 ; 
		for(int i = 1 ; i <= n / 2 ; i++){
			if(n % i == 0)
				a[j++] = i ;
		}
		a[j] = n ;//自己也要放进去
		return a ;
	}
	//打印数组元素
	public static void PrintArray(int []a){
		for(int i = 0 ; i < a.length ; i++)
			System.out.println(a[i]+" ");
		System.out.println();
	}
}

上一篇:CSS3开发工具收集


下一篇:微软拥抱开源,Win10为啥要引入真Linux4.X内核?