java--静态的应用(工具类)
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--静态的应用(工具类)的更多相关文章
- 常用 Java 静态代码分析工具的分析与比较
常用 Java 静态代码分析工具的分析与比较 简介: 本文首先介绍了静态代码分析的基 本概念及主要技术,随后分别介绍了现有 4 种主流 Java 静态代码分析工具 (Checkstyle,FindBu ...
- [原创]Java静态代码检查工具介绍
[原创]Java静态代码检查工具介绍 一 什么是静态代码检查? 静态代码分析是指无需运行被测代码,仅通过分析或检查源程序的语法.结构.过程.接口等来检查程序的正确性,找出代码隐藏的错误和缺陷,如参数 ...
- [转载] 常用 Java 静态代码分析工具的分析与比较
转载自http://www.oschina.net/question/129540_23043 简介: 本文首先介绍了静态代码分析的基本概念及主要技术,随后分别介绍了现有 4 种主流 Java 静态代 ...
- 【转载】常用 Java 静态代码分析工具的分析与比较
摘自:http://www.oschina.net/question/129540_23043常用 Java 静态代码分析工具的分析与比较 简介: 本文首先介绍了静态代码分析的基本概念及主要技术,随后 ...
- 常用Java静态代码分析工具的分析与比较
给国产静态代码检测工具Pinpoint打Call! 简介 本文首先介绍了静态代码分析的基本概念及主要技术,随后分别介绍了4种现有的主流Java静态代码分析工具 (Checkstyle,FindBugs ...
- Rhino+envjs-1.2.js 在java运行网站js 工具类
java爬虫遇到个页面加密的东西,找了些资料学习学习 做了个java运行js的工具类,希望对大家有用,其中用到client(获取js)可以自行换成自己的client.主要是用了 Rhino就是Java ...
- java中常用的工具类(一)
我们java程序员在开发项目的是常常会用到一些工具类.今天我汇总了一下java中常用的工具方法.大家可以在项目中使用.可以收藏!加入IT江湖官方群:383126909 我们一起成长 一.String工 ...
- Java学习-041-颜色工具类(RGB,HEX)
在日常的网页开发中,经常需要进行颜色数值获取.转换,例如获取红色,获取蓝色,获取绿色,RGB转十六进制颜色,十六进制颜色转RGB等,因而在学习过程中,写了一个小工具类,仅供各位小主参考! 多不闲言,直 ...
- JAVA中封装JSONUtils工具类及使用
在JAVA中用json-lib-2.3-jdk15.jar包中提供了JSONObject和JSONArray基类,用于JSON的序列化和反序列化的操作.但是我们更习惯将其进一步封装,达到更好的重用. ...
- JAVA自动生成正则表达式工具类
经过很久的努力,终于完成了JAVA自动生成正则表达式工具类.还记得之前需要正则,老是从网上找吗?找了想修改也不会修改.现在不用再为此烦恼了,使用此生成类轻松搞定所有正则表达式.赶快在同事面前炫一下吧. ...
随机推荐
- C#解析.msg文件(outlook文件)
起因 有一批邮件(700+),全是 .msg 文件,是同群发邮件产生的退信,这些退信需要作分析,得出退信产生的原因. 解决方法 在网上搜了一下发现 .msg文件有其自己的格式,MS提供了格式说明,自己 ...
- Android 内核初识(1)下载源码需求与教程
官方文档: http://source.android.com/source/requirements.html Requirements The Android build is routinel ...
- POJ1182
这题需要注意就是 并查集中 相对位置 注意与绝对距离区别 #include<cstdio> #define maxn 50005 int ans,i,a,b,p,fa,fb,n,k; in ...
- sencha touch2 动画问题
最近在review一个项目的代码, 发现返回操作比较乱,很多"从哪里来,到哪里去的操作"被写的一塌糊涂; 按照ios系统的进场出场动画(人家的体验还是很好的,必须借鉴)为标准,使用 ...
- SDOI2008Cave 洞穴勘测
无限膜拜CLJ大牛…… 不会动态树的弱弱在CLJ的帮助下AC了此题 我想到了并查集(人人都会想到的吧……囧),但不知道应该如何处理destroy操作…… 其实 make操作的实质就是:把x节点到其所在 ...
- NOI2002银河英雄传说
原先就看过这道题,觉得很复杂. 不知道为什么今天一看觉得好水啊…… 难道这就是并查集的启发式合并? 数组d[i]表示i到其父节点的距离,即中间隔了多少船舰. 数组sum[i]记录以i为根的集合总共有多 ...
- python扩展实现方法--python与c混和编程
前言 需要扩展Python语言的理由: 创建Python扩展的步骤 1. 创建应用程序代码 2. 利用样板来包装代码 a. 包含python的头文件 b. 为每个模块的每一个函数增加一个型如PyObj ...
- 【转】parallels desktop 11 授权许可文件删除方法
原文网址:http://www.macappstore.net/tips/parallels-desktop-uninstall/ 很多同学在安装parallels desktop 11破解版后显示还 ...
- 也用 Log4Net 之走进Log4Net (四)
转载地址:http://www.cnblogs.com/dragon/archive/2005/03/24/124254.html 我是转的别人的内容,我觉得他写的非常好,所以我把其中三分之二转了过来 ...
- 根据Excel列类型获取列的值
using System.Data; using System.IO; using System.Text; using System.Web; using NPOI.SS.UserModel; us ...