封装的应用【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 ...
随机推荐
- 【转载】Centos7 中使用Supervisor守护进程
配置supervisor实现进程守护 1.安装supervisor yum install Supervisor 2.启动服务 supervisord -c /etc/supervisord.co ...
- JAVA基础-IO流(二)
一.字节流 字节流是通过字节来进行读写操作的,他的使用对象相比于字符流来说更加的广泛.这主要是因为他们读写文件的方式而决定的.字符流读写文件时是将读取到的字节通过默认编码表转换成字符,在通过默认编码表 ...
- deeplearning.ai 卷积神经网络 Week 3 目标检测 听课笔记
本周的主题是对象检测(object detection):不但需要检测出物体(image classification),还要能定位出在图片的具体位置(classification with loca ...
- Java面向对象接口的应用实例练习
interface USB { public void open(); public void close(); } class Upan implements USB { public void o ...
- bzoj 1415: [Noi2005]聪聪和可可
直接上记忆化搜索 #include<queue> #include<cstdio> #include<algorithm> using namespace std; ...
- Vijos P1131 最小公倍数和最大公约数问题【暴力】
最小公倍数和最大公约数问题 描述 输入二个正整数x0,y0(2≤x0≤100000,2≤y0≤1000000),求出满足下列条件的P.Q的个数. 条件:1.P.Q是正整数 2.要求P.Q以xO为最大公 ...
- CodeM美团点评编程大赛初赛B轮 黑白树【DFS深搜+暴力】
[编程题] 黑白树 时间限制:1秒 空间限制:32768K 一棵n个点的有根树,1号点为根,相邻的两个节点之间的距离为1.树上每个节点i对应一个值k[i].每个点都有一个颜色,初始的时候所有点都是白色 ...
- [51nod1291]Farmer
用单调栈的话不严格的O(n^3)可以轻松艹过去,统计的时候要差分. 可以发现,对于一个单调栈里的元素,从它进栈到出栈都会重复类似的计算..再差分一波后就可以只在出栈的时候计算一下了. 具体的话看代码吧 ...
- easyUI返回类型total,rows
- DFS算法(——模板习题与总结)
首先,需要说明的是搜索算法本质上也是枚举的一种,时间复杂度还是很高的,遇到问题(特别是有水平的比赛上),不要优先使用搜索算法. 这里总结一下DFS算法: 1.从图中某个顶点出发,访问v. 2.找出刚访 ...