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. WIN7 XP设置MTU,提升下载速度

    可能很少有雷友注意过“本机.网络”的“MTU”值对自己网络性能产生的影响.对于追求更快的下载速度来说,MTU值设置不当,就仿佛穿着高跟鞋跑步一般. MTU是什么? “MTU=最大传输单元 单位:字节” ...

  2. VPN DNS leak 问题的解决

    前一段时间遇到一个问题.customer说发现连接VPN后在PPP端发现security leak,整个转了好大一个圈子才把问题解决了.之所以费这么大周折,倒不是因为很难解决,只是费了很大劲儿才定位了 ...

  3. mac tree命令

    mac下默认是没有 tree命令的,不过我们可以使用find命令模拟出tree命令的效果,如显示当前目录的 tree 的命令: $ find . -print | sed -e 's;[^/]*/;| ...

  4. ↗☻【PHP与MySQL程序设计 #BOOK#】第3章 PHP基础

    <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8& ...

  5. Android UI设计系统---LayoutParams[转]

    LayoutParams继承于Android.View.ViewGroup.LayoutParams.       LayoutParams相当于一个Layout的信息包,它封装了Layout的位置. ...

  6. window.location.search作用

    window.location.search.substr(1).split("&") 这里面的相关属性和时间还有参数能具体说明一下吗?window.location wi ...

  7. Java8 Stream API

    Stream是Java8中,操作集合的一个重要特性. 从iteration到Stream操作 当你操作一个集合的时候,你通常的做法是迭代每一个元素,然后处理你想要的事情.举个例子: String co ...

  8. uvalive 4992 Jungle Outpost

    题意:一个凸边型,目标在凸边型内且最优.问最多删除几个点使目标暴露在新凸边型外面. 思路:二分+半平面相交. #include<cstdio> #include<cmath> ...

  9. 《Genesis-3D开源游戏引擎完整实例教程-跑酷游戏篇05:二段跳》

    5.二段跳 二段跳概述: 基本跑酷游戏的框架搭建完毕,开发者会根据开发的游戏特性,增设一些额外功能,使游戏具有可玩性性和画面感.下面我们以角色的二段跳为例,来了解在跑酷游戏中增设其它功能的流程.二段跳 ...

  10. [原创]git使用入门

    创建git项目并初始化 建立一个新文件夹,然后将该文件夹定义为git项目 Lilis-MacBook-Pro:GitDir lili$ mkdir testgit Lilis-MacBook-Pro: ...