数组工具对象建立(例:获取数字在数组中位置,获取数组中最大值)

class ArrayTool
{
	/**
	工具:获取整数型数组的最大值	
	*/
	public static int getMax(int[] arr)//public为提升权限,让更多的类能够访问到。若没有访问到特有数据时,需要静态化
	{																			//若访问到特有数据(即封装有特有数据),则不能加静态
		int maxIndex = 0;
		for(int x = 1;x<arr.length;x++)
		{
			if(arr[x]>arr[maxIndex])
				maxIndex = x;//
		}
		return arr[maxIndex];
	}

	public static void selectSort(int[] arr)//访问到特有数据,不用静态
	{
		for(int x = 0;x<arr.length-1;x++)
		{
			for(int y=x+1;y<arr.length;y++)
			{
				if(arr[x]>arr[y])
					swap(arr,x,y);
			}
		}
	}

	private static void swap(int[] arr,int a,int b)
	{
		int temp = arr[a];
		arr[a] = arr[b];
		arr[b] = temp;
	}

	public static int getIndex(int[] arr,int key)
	{
		for (int x = 0;x<arr.length;x++)
		{
			if(arr[x]==key)
				return x;
		}
		return -1;
	}

	public static String arrayToString(int[] arr)
	{
		String str = "[";

		for(int x=0;x<arr.length;x++)
		{
			if(x!=arr.length-1)
				str = str + arr[x]+", ";
			else
				str = str + arr[x]+"]";
		}
		return str;
 	}
}

调用时

class ArrayToolDemo
{
	/*
	主函数为保证程序的独立运行	
	*/
	public static void main(String[] args)
	{
		int[] arr = {4,6,2,87,35,11,1};

		//ArrayTool tool = new ArrayTool();//工具中不加静态是需要定义

		int max = ArrayTool.getMax(arr);
		System.out.println("max="+max);//获得数组中的最大值
		
		int index = ArrayTool.getIndex(arr,4);
		System.out.println("index="+index);//获得0在数组中的角标,若输出-1则数组中不存在此数

	}
}

编译时直接编译  ArrayToolDemo

发布了34 篇原创文章 · 获赞 6 · 访问量 4796

猜你喜欢

转载自blog.csdn.net/qq_42712280/article/details/81531240