封装的应用【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 ...
随机推荐
- [整理]k-vim-for-server通过vimrc修改vim格式
1.备份原来的vim设置: cp ~/.vimrc ~/.vimrc_bak 2. 下载配置到指定目录 法一: curl https://raw.githubusercontent.com/wklke ...
- Maven适配多种运行环境的打包方案
项目从开发到部署会历经多个运行环境,如开发环境.测试环境和生产环境,不同环境中项目的配置文件通常也会不同,典型的如数据库连接配置.我们当然不希望每次部署打包前都去修改配置文件以适配环境,利用Maven ...
- JavaScript splice() 方法
定义和用法 splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目. 注释:该方法会改变原始数组. 例子 1 在本例中,我们将创建一个新数组,并向其添加一个元素: <script ...
- 2017 Multi-University Training Contest - Team 9 1004&&HDU 6164 Dying Light【数学+模拟】
Dying Light Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Tot ...
- AtCoder Regular Contest 075
任意门 C - Bugged 题意:类似装箱问题,但是最后体积总和不能为10的倍数. #include<cstdio> #include<cstring> #include&l ...
- BZOJ 1509: [NOI2003]逃学的小孩
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1509 直接求出树的直径,枚举每个点更新一遍答案. #include<cstring> ...
- hdu_1028_母函数
虽然我很想自己写母函数讲解...但是最近事情太多了,就贴个很入门的讲解吧给出一个经典的模板A了这个题 http://blog.csdn.net/vsooda/article/details/79754 ...
- HDU_5504 GT and sequence
GT and sequence Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) ...
- Django 用散列隐藏数据库中主键ID
最近看到了一篇讲Django性能测试和优化的文章, 文中除了提到了很多有用的优化方法, 演示程序的数据库模型写法我觉得也很值得参考, 在这单独记录下. 原文的演示代码有些问题, 我改进了下, 这里可以 ...
- [国嵌笔记][027][ARM协处理器访问指令]
协处理器作用 协处理器用于执行特定的处理任务,如数学协处理器可以执行控制数字处理,以减轻处理器的负担.ARM处理器最多可以支持16个协处理器,其中CP15是最重要的一个协处理器 CP15的作用 CP1 ...