ArrayTool.java文件

/**
静态的应用。 每一个应用程序中都有公行动的功能,可以将这些功能进行抽取,独立封装以便复用 由于ArrayTool中并没有封装特有数据,而且数组的每一个方法也没有用到ArrayTool中的特有数据,为让程序更加严谨,
可以将ArrayToll中的方法都定义程static的,直接用类名调用即可
接下来就可以将ArrayTool发送给其他人,其他人只要将该文件设置到classpath的路径下就可以使用该工具
为使对方清楚该类的功能,可以通过说明书(文档注释)来完成
*/ /**
这是一个可以对数组进行曹组的工具类,该类中提供了获取最值(最大,最小)、排序的功能
@author 某某
@version V1.0
*/ class ArrayTool
{
/**
空参数构造函数,由于前文中提到的原因,避免被建立对象而占用过多无用内存,声明为private类型
*/
private ArrayTool(){} /**
获取意义整型数组的最大值
@param arr 接受一个int型数组
@return max 返回一个该数组中的最大值
*/
public static int getMax(int[] arr)
{
int max=0;
for (int i=0 ; i<arr.length ; i++ )
{
if(arr[i]>max)
max=arr[i];
}
return max;
} /**
获取意义整型数组的最小值
@param arr 接受一个int型数组
@return min 返回一个该数组中的最小值
*/
public static int getMin(int[] arr)
{
int min=9999;
for (int i=0 ; i<arr.length ; i++ )
{
if(arr[i]<min)
min=arr[i];
}
return min;
} /**
给int型数组选择排序(自小到大)
@param arr 接受一个int型数组
*/
public static void selectSort(int[] arr)
{
for (int i=0 ; i<arr.length-1 ; i++)
{
for (int j=i+1 ; j<arr.length ; j++ )
{
if(arr[i]>arr[j])
{
swap(arr,i,j);
}
}
}
} /**
给int型数组冒泡排序(自小到大)
@param arr 接受一个int型数组
*/
public static void bubbleSort(int[] arr)
{
for (int x=0 ; x<arr.length-1 ; x++ )
{
for (int y=0 ; y<arr.length-x-1 ; y++ )
{
if(arr[y]>arr[y+1])
{
swap(arr,y,y+1);
}
}
}
} /**
交换数组中元素的位置
@param arr 数组
@param i 要交换的位置坐标1
@param i 要交换的位置坐标2
*/
private static void swap(int[] arr,int i,int j)
{
int temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
} /**
打印数组中的元素。
*/
public static void printArray(int[] arr)
{
System.out.print("[");
for (int i=0 ; i<arr.length ; i++ )
{
if(i!=arr.length-1)
System.out.print(arr[i]+", ");
else
System.out.println(arr[i]+"]");
}
}
}

ArrayToolDemo文件

class  ArrayToolDemo     //测试主函数
{
public static void main(String[] args)
{
int[] arr = {32,1,45,6,89,33,99}; //声明一个无需数组 ArrayTool.printArray(arr); //打印数组 int max = ArrayTool.getMax(arr); //测试最大值
System.out.println("max = "+max); int min = ArrayTool.getMin(arr); //测试最小值
System.out.println("min = "+min); //ArrayTool.printArray(arr); //打印数组
//ArrayTool.selectSort(arr); //测试选择排序
//ArrayTool.printArray(arr); //打印出排序好的数组 ArrayTool.printArray(arr); //打印数组
ArrayTool.bubbleSort(arr); //测试冒泡排序
ArrayTool.printArray(arr); //打印出排序好的数组 }
}

java--静态的应用(工具类)的更多相关文章

  1. 常用 Java 静态代码分析工具的分析与比较

    常用 Java 静态代码分析工具的分析与比较 简介: 本文首先介绍了静态代码分析的基 本概念及主要技术,随后分别介绍了现有 4 种主流 Java 静态代码分析工具 (Checkstyle,FindBu ...

  2. [原创]Java静态代码检查工具介绍

    [原创]Java静态代码检查工具介绍 一  什么是静态代码检查? 静态代码分析是指无需运行被测代码,仅通过分析或检查源程序的语法.结构.过程.接口等来检查程序的正确性,找出代码隐藏的错误和缺陷,如参数 ...

  3. [转载] 常用 Java 静态代码分析工具的分析与比较

    转载自http://www.oschina.net/question/129540_23043 简介: 本文首先介绍了静态代码分析的基本概念及主要技术,随后分别介绍了现有 4 种主流 Java 静态代 ...

  4. 【转载】常用 Java 静态代码分析工具的分析与比较

    摘自:http://www.oschina.net/question/129540_23043常用 Java 静态代码分析工具的分析与比较 简介: 本文首先介绍了静态代码分析的基本概念及主要技术,随后 ...

  5. 常用Java静态代码分析工具的分析与比较

    给国产静态代码检测工具Pinpoint打Call! 简介 本文首先介绍了静态代码分析的基本概念及主要技术,随后分别介绍了4种现有的主流Java静态代码分析工具 (Checkstyle,FindBugs ...

  6. Rhino+envjs-1.2.js 在java运行网站js 工具类

    java爬虫遇到个页面加密的东西,找了些资料学习学习 做了个java运行js的工具类,希望对大家有用,其中用到client(获取js)可以自行换成自己的client.主要是用了 Rhino就是Java ...

  7. java中常用的工具类(一)

    我们java程序员在开发项目的是常常会用到一些工具类.今天我汇总了一下java中常用的工具方法.大家可以在项目中使用.可以收藏!加入IT江湖官方群:383126909 我们一起成长 一.String工 ...

  8. Java学习-041-颜色工具类(RGB,HEX)

    在日常的网页开发中,经常需要进行颜色数值获取.转换,例如获取红色,获取蓝色,获取绿色,RGB转十六进制颜色,十六进制颜色转RGB等,因而在学习过程中,写了一个小工具类,仅供各位小主参考! 多不闲言,直 ...

  9. JAVA中封装JSONUtils工具类及使用

    在JAVA中用json-lib-2.3-jdk15.jar包中提供了JSONObject和JSONArray基类,用于JSON的序列化和反序列化的操作.但是我们更习惯将其进一步封装,达到更好的重用. ...

  10. JAVA自动生成正则表达式工具类

    经过很久的努力,终于完成了JAVA自动生成正则表达式工具类.还记得之前需要正则,老是从网上找吗?找了想修改也不会修改.现在不用再为此烦恼了,使用此生成类轻松搞定所有正则表达式.赶快在同事面前炫一下吧. ...

随机推荐

  1. Android之adb

    其实大部分的PC开发机与Android设备的操作都是通过adb(android debug bridge)技术完成的,这是一个C/S架构的命令行工具,主要由三个部分组成 运行在PC开发机上的命令行客户 ...

  2. innodb master thread 工作原理

    参考 innodb参数汇总  InnoDB的Master Thread工作原理 innodb_max_dirty_pages_pct 默认值 show variables like 'innodb_m ...

  3. Repeater的ItemCommand事件(LinkButton)

    Repeater的ItemCommand事件,就是在里面加一个超链接的按钮,所有按钮都指向同一个事件,就是ItemCommand事件. 至于如何区分是点击的什么按钮,还有传的值,需要用到LinkBut ...

  4. 实现类似QQ的即时通信程序(十一)

    此为网络编程的一个系列,后续会把内容补上....

  5. spring-webmvc 4.3.4 与 freemarker、easyui 整合

    一.所需lib包 二.web.xml配置 <?xml version="1.0" encoding="UTF-8"?> <web-app xm ...

  6. MSP430 flash的操作

    今天顺便研究了一下msp430的flash操作,很多人也许看了我的博客,会发现网站上有很多的人总结得比我要好,这点我承认,因为自己能力有限,但是,从这篇博客起,我会参照以前大神们写的博客,添加大神们写 ...

  7. MSP430的看门狗常见用法以及中断函数的书写方法

    今天下午看了一下MSP430的看门狗的基本用法 看门狗是为了防止程序跑飞而设定的,但是由于看门狗是一个类似于定时器,因此可以把他当作定时器来使用 示例代码:用看门狗定时器使一个led闪烁 #inclu ...

  8. FZU 2127 养鸡场

     Problem Description Jason买来了n米长的竹篱笆,打算将n米长的竹篱笆全部用来围成一个三角形的养鸡场.为方便起见,养鸡场三条边的长度都为正整数.同时,他想让自己的养鸡场看起来更 ...

  9. ZeroR-baseline分类器

    ZeroR分类器是一种最简单的分类器,这种方法仅仅根据历史数据统计规律,而选择一种概率最大的类别作为未知样本的分类结果,也就是说对于任意一个未知样本,分类结果都是一样的.ZeroR分类器简单的以多数类 ...

  10. android NDK 实用学习(四)-类缓存

    1,为什么需要类缓存: 答:由于频繁的查找类及类成员变量需要很大的时间与空间开销,可参考如下文章: http://www.ibm.com/developerworks/cn/java/j-jni/ h ...