封装的应用【example_Array工具】
定义一个数组工具【ArrayTool】封装其方法,ArrayDemo调用数组工具
ArrayTool
package new_Object;
//封装多个个功能
class ArrayTool{
//1==>获取最值
public static int getMax(int []Arr){
int maxIndex=Arr[0];
for (int i = 1; i < Arr.length; i++) {
if (Arr[i]>Arr[maxIndex]){
maxIndex=Arr[i];
}
}
return Arr[maxIndex];
}
//2==>求角标
public static int getIndex(int []Arr,int key){
for (int i = 0; i < Arr.length; i++) {
if (Arr[i]==key) {
return i;
}
}
return -1;//没找到
}
//3,==>乘法表
public static void printfCFB(){
for (int i = 1; i <=9; i++) {
for (int j = 1; j <=i; j++) {
System.out.print(i+"*"+j+"="+i*j+"\t");
}
System.out.println();
}
}
//4,==>选择排序
//打印数组
public static void Printf_Arr(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]+"");
}
}
public static void select_Sort(int []Arr){
for (int i = 0; i < Arr.length-1; i++) {
for (int j = i+1; j < Arr.length; j++) {
/*条件Arr[i]>Arr[j]==>Arr[i]<Arr[j] 则是从大到小排序*/
if (Arr[i]>Arr[j])
swap(Arr ,i,j);
}
}
}
//swap封装置换数值
private static void swap(int []Arr,int a,int b){
int temp=Arr[a];
Arr[a]=Arr[b];
Arr[b]=temp;
}
//5,==>遍历数组
public static void show(int Arr[]){
for (int i = 0; i < Arr.length; i++) {
System.out.println("Arr["+i+"]="+Arr[i]);
}
}
}
ArrayDemo调用ArrayTool
package new_Object;
//方法封装成对象
public class ArrayToolDemo{
public static void main(String[] args) {
int []Arr={1,2,4,6,8};
//static修饰的成员可直接被类名所调用==>类名.静态成员
int max=ArrayTool.getMax(Arr);
System.out.println("max="+max);
System.out.println("--------------------");
int getIndex=ArrayTool.getIndex(Arr,8);
System.out.println("getIndex="+getIndex);
System.out.println("--------------------");
ArrayTool.printfCFB();
System.out.println("--------------------");
System.out.print("排序前:");
ArrayTool.Printf_Arr(Arr);
ArrayTool.select_Sort(Arr);//调用排序方法
System.out.print("排序后:");
ArrayTool.Printf_Arr(Arr);
System.out.println("--------------------");
ArrayTool.show(Arr);
}
}
==========================run===========================
max=8
--------------------
getIndex=4
--------------------
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
--------------------
排序前:1、2、4、6、8
排序后:1、2、4、6、8
--------------------
Arr[0]=1
Arr[1]=2
Arr[2]=4
Arr[3]=6
Arr[4]=8
由此例子更进一步理解封装
封装的应用【example_Array工具】的更多相关文章
- 【更新】【封装必备】封装辅助 - 清理&优化工具 For Win7(IT天空会员专版)
https://www.itsk.com/thread-353560-1-4.html nqawen 发表于 2015-7-9 17:26:37 本帖最后由 Amz 于 2015-11-25 10 ...
- iOS开发拓展篇—封装音频文件播放工具类
iOS开发拓展篇—封装音频文件播放工具类 一.简单说明 1.关于音乐播放的简单说明 (1)音乐播放用到一个叫做AVAudioPlayer的类 (2)AVAudioPlayer常用方法 加载音乐文件 - ...
- JBPM4入门——4.封装流程管理的工具类(JbpmUtil)
本博文只是简要对JBPM4进行介绍,如需更详细内容请自行google 链接: JBPM入门系列文章: JBPM4入门——1.jbpm简要介绍 JBPM4入门——2.在eclipse中安装绘制jbpm流 ...
- Redis进阶实践之九 独立封装的RedisClient客户端工具类(转载9)
Redis进阶实践之九 独立封装的RedisClient客户端工具类 一.引言 今天开始有关Redis学习的第九篇文章了,以后肯定会大量系统使用Redis作为缓存介质,为了更好的更好的Redis,自己 ...
- 钉钉机器人SDK 封装预警消息发送工具
1 群机器人 (1) 引言 钉钉聊天群内支持的群机器人, 类似QQ 群机器人, 可以发天气, 讲笑话那样; 钉钉群机器人支持自定义机器人, 允许开发者管理机器人做预警消息通知; ...
- jdbc 11: 封装自己的jdbc工具类
jdbc连接mysql,封装自己的jdbc工具类 package com.examples.jdbc.utils; import java.sql.*; import java.util.Resour ...
- java模板模式项目中使用--封装一个http请求工具类
需要调用http接口的代码继承FundHttpTemplate类,重写getParamData方法,在getParamDate里写调用逻辑. 模板: package com.crb.ocms.fund ...
- Java 基于mail.jar 和 activation.jar 封装的邮件发送工具类
准备工作 发送邮件需要获得协议和支持! 开启服务 POP3/SMTP 服务 如何开启 POP3/SMTP 服务:https://www.cnblogs.com/pojo/p/14276637.html ...
- PHP之封装一些常用的工具类函数
分享一些PHP中常用的工具里函数: <?php /** * Created by PhpStorm. * User: Steven * Date: 2016/8/12 * Time: 14:21 ...
随机推荐
- C# 知识回顾 - Lambda
序 它是第十一个希腊字母,一个拥有失意.无奈.孤独.低调等含义的流行符号,也指示一款称为"半条命"的游戏. 不过,这次我所讲的是 C# 中的 Lambda. 目录 Lambda 简 ...
- 初学HTML5,你要懂得哪些?
很多人问过我这个问题,想要做HTML5页面你要懂得哪些知识?而问这个问题的人基本上都是刚听说过或刚接触HTML5,处在迷茫的阶段,他们往往会被一些网上炫酷页面所吸引,然后自己也想学习HTML5,能通过 ...
- 部署java项目到阿里云服务器(centos7版本)
一.搭建环境 1.搭建java环境(64位) 一.准备压缩包,rpm包或者tar包,将其上传到阿里云对应的文件夹(我用的工具是WinSCP,百度一下就有下载资源) 二.若是rpm包,可以通过 rpm ...
- 认识Sass和Compass
第一章 Sass和Compass让样式表重焕青春 // 内容概要// 开始学习Sass和动态样式表// 用Sass更高效地写样式表// Compass简介// 用Compass迎接工程实践中的样式挑战 ...
- MATLAB学习笔记
魔方矩阵(magic(阶数)) 魔方矩阵又称幻方,是有相同的行数和列数,并在每行每列.对角线上的和都相等的矩阵.魔方矩阵中的每个元素不能相同.你能构造任何大小(除了2x2)的魔方矩阵. 希尔伯特矩阵( ...
- CTF---隐写术入门第三题 打不开的文件
打不开的文件分值:10 来源: 实验吧 难度:中 参与人数:2718人 Get Flag:1222人 答题人数:1276人 解题通过率:96% 咦!这个文件怎么打不开? 解题链接: http://ct ...
- BZOJ 1257: [CQOI2007]余数之和sum【神奇的做法,思维题】
1257: [CQOI2007]余数之和sum Time Limit: 5 Sec Memory Limit: 162 MBSubmit: 4474 Solved: 2083[Submit][St ...
- BZOJ2282: [Sdoi2011]消防
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=2282 答案一定是在直径上的一段,然后答案一定不会小于不在直径上的点到直径的距离(要是可以的话那 ...
- 关于JAVA实现二维码以及添加二维码LOGO
今天在公司,完成了之前的任务,没有什么事做,就想鼓捣一下二维码,因为之前没有接触过,我就去翻看了几本书,也基本完成了二维码的实现,以及添加二维码的LOGO. 现在绘制二维码一般都使用的是谷歌的zxin ...
- NullPointerException org.apache.commons.digester.Digester.getXMLReader(Digester.java:1058)
http://pwu-developer.blogspot.com/2010/01/nullpointerexception.html Maven is great build tool making ...