封装的应用【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 ...
随机推荐
- I2S协议
(一)I2S总线概述: 音响数据的采集.处理和传输是多媒体技术的重要组成部分.众多的数字音频系统已经进入消费市场,例如数字音频录音带.数字声音处理器.对于设备和生产厂家来说,标准化的信息传输结构可以提 ...
- 美团Java团队分享:如何实践支付通道自动化管理
随着支付业务量激增,支付团队不断壮大.为了满足日益增长的业务需求,大量的支付通道逐渐接入,但由于对接的各银行和第三方系统的稳定性参差不齐,支付通道故障时有发生,作为承接上下游的核心系统,要在一系列不稳 ...
- 个人项目--“”小鱼企业级开发系统“”Svn地址分享
由于精力有限,博主现在只维护这一个系统,会不时的更新代码提交. ""小鱼企业级开发系统""的Svn地址:http://code.taobao.org/svn/S ...
- 破解附近寝室的Wifi密码
[系统]运行在VMware虚拟机中的Kali Linux系统.(实测Kali运行在virtualbox中兼容性很差,VMware支持的很好.我认为这正是一个不要迷信开源的例子,多数情况下,大公司的商业 ...
- 前端 IoC 理念入门
背景 近几年,前端应用(WebApp)正朝着大规模方向发展,在这个过程中我们会对项目拆解成多个模块/组件来组合使用,以此提高我们代码的复用性,最终提高研发效率. 在编写一个复杂组件的时候,总会依赖其他 ...
- SpringBoot(四)之thymeleaf的使用
这篇文章将更加全面详细的介绍thymeleaf的使用.thymeleaf 是新一代的模板引擎,在spring4.0中推荐使用thymeleaf来做前端模版引擎. thymeleaf介绍 简单说, Th ...
- Java多线程学习开发笔记
线程有有序性和可见性 多个线程之间是不能直接传递数据交互的,它们之间的交互只能通过共享变量来实现. 在多个线程之间共享类的一个对象,这个对象是被创建在主内存(堆内存)中,每个线程都有自己的工作内存(线 ...
- [51nod1291]Farmer
用单调栈的话不严格的O(n^3)可以轻松艹过去,统计的时候要差分. 可以发现,对于一个单调栈里的元素,从它进栈到出栈都会重复类似的计算..再差分一波后就可以只在出栈的时候计算一下了. 具体的话看代码吧 ...
- java的finalize()方法与C++的析构函数
---<java编程思想> 读书笔记 --- 2017/3/15 读<java编程思想>读到初始化与清理一章,文中提及java的finalize()方法,联想到了C++的析构函 ...
- koala 编译scss不支持中文(包括中文注释),解决方案如下
进入Koala安装目录,例如:C:\Program Files (x86)\Koala\rubygems\gems\sass-3.4.9\lib\sass 找到engine.rb文件,在该文件中找到最 ...