精华内容
下载资源
问答
  • 按需求实现功能需求分析遍历的冒泡的功能的测试的运行结果 需求 给定一个任意数组,设计出一个功能查询,查询这组数组中某个元素的索引,也要自动获取数组中的最大...3)还需要定义功能cha,里面要实现查

    需求

     给定一个任意数组,设计出一个功能查询,查询这组数组中某个元素的索引,也要自动获取数组中的最大值
     并提示。
    

    分析

    1)对于这个给定的数组,需要输出在控制台上,那么需要创建一个类bianLi,这个类就是按顺序输出给定的数组功能;
    2)为了实现获取最大值,需要通过一个工具功能,就是如何获取最大值,提供两种方法冒泡或者选择排序法,当然还有其他的功能,在这里只展示冒泡,那么定义一个maoPao类;
    3)还需要定义功能类cha,在这里面要实现查询这个数组的某一个数的索引值,所以要有一个查索引值的getInder方法,为了实现获取数组中最大值所以也要实现一个getInder方法的重载;
    4)最后定义一个测试类Test,将上述功能实现。

    遍历的类

    public class bianLI {
    
    	public static void printArray(int[] arr) {
    		System.out.print("[");
    		
    		for(int x=0 ; x<arr.length ; x++) {
    			if(x == arr.length-1 ) {
    				System.out.println( arr[x] + "]" );
    			}else {
    				System.out.print( arr[x] + ", " );
    			}
    			
    		}		
    	}
    	
    }
    

    冒泡的类

    public class maoPao {
    
    	public static void maoArray(int[] arr) {
    		for(int x = 0; x < arr.length-1 ;x++) {
    			for(int y = 0; y < arr.length-1-x ;y++) {
    				if( arr[y]> arr[y+1] ) {
    					int temp = arr[y];
    					arr[y] = arr[y+1];
    					arr[y+1] = temp;
    				}
    				
    			}
    			
    		}
    		
    	}
    	
    }
    

    功能的类

    public class cha {
    	
    	//查询索引值
    	public static int getInder( int[] arr, int value) {
    		
    		for(int x= 0 ; x<arr.length ; x++) {
    			if( arr[x] == value ) {
    				return x;
    			}
    		}
    		
    		
    		return -1;  //如果没有输入的数字控制台输出:-1
    	}
    	
    	//获取最大值
    	public static int getInder( int[] arr ) {
    		
    		maoPao.maoArray(arr);
    		
    		int x = arr.length-1;
    		
    		return x;
    	}
    	
    	
    }
    

    测试的类

    package com_qianfeng_04;
    
    import java.util.Scanner;
    
    
    
    //已知数组{20,12,8,87,24} ,请设计一个功能查询出 12 这个元素在该数组中出现的索引,请设计一功能获取数组中的最大值
    public class Test {
    
    	public static void main(String[] args) {
    		
    		int[] arrl = {20,12,8,87,24};
    		System.out.println("********************");
    		System.out.println("这是一组数组");
    		bianLI.printArray(arrl);
    		System.out.println("********************");
    		System.out.println( );
    		
    
    		
    		System.out.println("请输入您要查询的对应数字索引值");
    		Scanner sj = new Scanner(System.in);
    		int i = sj.nextInt();
    		System.out.println("-------------");						
    		int shuZi = cha.getInder(arrl, i);
    		System.out.println("您查询对应数字的索引值是:"+ shuZi);
    		System.out.println( );
    
    		
    		
    		System.out.println("-------------");
    		int x = cha.getInder(arrl);
    		System.out.println("该数组中最大数字是:"+ arrl[x] );
    	
    		
    	}
    
    }
    
    

    运行结果

    输入的数字在数组内的结果展示
    在这里插入图片描述

    输入的数字不在数组内的结果展示
    在这里插入图片描述

    展开全文
  • Java中的ArrayList底层实际上使用数组实现的,它拥有和数组相似的特性,容易存取,不容易插入或者删除。 下面来看看如何手动实现一个ArrayLis,实现的ArrayList中增加有泛型。 首先创建一个名为hxzArrayList的...

    目录

    构造方法的重载,对容器进行初始化

    向容器中增加元素

    打印容器中的元素

    判断索引是否合法

    获取指定下标的元素

    通过指定元素来删除容器中的元素

    通过指定下标删除容器中的元素

    插入元素,在pos个位置,这里是从1开始计数的


    Java中的ArrayList在底层实际上使用数组实现的,它拥有和数组相似的特性,容易存取,不容易插入或者删除。

    下面来看看如何手动实现一个ArrayLis,实现的ArrayList中增加有泛型

    首先创建一个名为hxzArrayList的类,里面有我们待实现的方法:

    class hxzArrayList<E>{
    
    	Object[] elementData;//定义容器中的属性
    	private int size;//容器中元素的个数
    	private static final int DEFAULT_CAPACITY = 10;//在未指定容器的情况下,容器的默认大小
    
    
        public hxzArrayList();//构造方法的重载,对容器进行初始化
        public hxzArrayList(int capacity);
    
        public void arraylistAdd(E element);//向容器中增加元素
    
        public String toString();//打印容器中的元素
    
        public void arrayListRemove(E element);//删除容器中的元素
        public void arrayListRemove(int index);
    
        public void arrayInsert(int pos , E e);//插入元素
    
        public int getSize();//获得元素的个数
    
        public void set(E element , int index);//替换指定下标的元素
    
        public E get(int index);//获得指定下标的元素
    
        public void checkIndex(int index);//检查下表是否合法
    }

    构造方法的重载,对容器进行初始化

        public hxzArrayList() {
    		elementData = new Object[DEFAULT_CAPACITY];
    	}
    	
    	public hxzArrayList(int capacity) {
    		if(capacity<0) {
    			throw new RuntimeException("容器的容量不能为负数!");//手动抛出异常
    		}else if(capacity==0) {
    			elementData = new Object[DEFAULT_CAPACITY];
    		}else {
    		elementData = new Object[capacity];
    		}
    	}

    向容器中增加元素

    public void arraylistAdd(E element) {
    		
    		//当元素个数(size)与数组的长度相等时,要扩容
    		if(size==elementData.length) {
                //把当前数组所有元素拷贝到另一个更大的数组中去
    			Object[] newArrayList = new Object[elementData.length+(elementData.length>>1)];
    			System.arraycopy(elementData, 0, newArrayList, 0, elementData.length);
    			elementData = newArrayList;
    		}
    		
    		elementData[size++] = element;
    	}
    

    打印容器中的元素

    	public String toString() {
    		StringBuilder sb = new StringBuilder();
    		sb.append("[");
    		for(int i=0 ; i<size ; i++) {
    			sb.append(elementData[i]+",");
    		}
    		sb.setCharAt(sb.length()-1,']');
    		return sb.toString();
    	}
    }

    这里我们假设容器内都是String类型的元素,重写toString()方法,创建StringBuffer对象,把容器中元素追加到StringBuffer对象中去。

    判断索引是否合法

      public void checkIndex(int index) {
            if(index<0||index>size)
            {
                throw new RuntimeException("该索引不合法!");
            }
        }
    

     

    获取指定下标的元素

     public E get(int index) {
            checkIndex(index);
            return (E)elementData[index];
        }
    
    

     

    通过指定元素来删除容器中的元素

    	public void arrayListRemove(E element) {
    		
    		for(int i=0 ; i<size ; i++) {//不能使用elementData.length
    			if(element.equals(get(i))) {
    				arrayListRemove(i);
    			}
    		}
    	}

    注意:for(int i=0 ; i<size ; i++) 在for循环的判断语句中不能把size用elementData.length代替。

    这是因为:当容器中元素的个数(size)小于数组的长度时,随着for循环,i 的值不断增大,当i增大到比size大时,检查下标是否合法的checkIndex方法就会抛出异常。

    而且,比较元素的值是否与指定元素相等时,记住要用equals方法,而不能是==!

     

    通过指定下标删除容器中的元素

        public void arrayListRemove(int index) {
            
            int move = elementData.length-index-1;
            if(move>0)
                System.arraycopy(elementData, index+1, elementData, index, move);
        
            elementData[--size] = null;
        }

     

    插入元素,在pos个位置,这里是从1开始计数的

        public void arrayInsert(int pos , E e) {
            
            Object[] str1 = new Object[size+1];
            System.arraycopy(elementData, 0, str1, 0, size);
            
            System.arraycopy(str1, pos-1, str1, pos, size-pos);
            str1[pos-1] = e;
            elementData = str1;
            size++;
        }
    

    插入和删除的本质都是通过数组的复制来实现的。

     

     

     

     

     

     

    展开全文
  • 你的 JavaScript 代码里面存储这样的数据: <pre><code> javascript var sortKey = "new" // 排序的字段,新增(new)、取消(cancel)、净关注(gain&#...
  • javascript入门笔记

    2018-05-15 15:01:07
    3、如何 将变量的数据 打印控制台上?? 4、一条语句中声明多个变量 var 变量名1=值,变量名2=值,变量名3; 3、变量名命名规范 1、由字母,数字,下划线以及 $ 组成 var user_name; 正确 var user-name; 错误...
  • Excel_VBA教程

    2014-09-22 11:36:34
    第七课 如何在EXCEL里使用定时器 20 三、学习微软 EXCEL 2002 VBA 编程和XML,ASP技术 22 第一章 电子表格自动化简介和了解宏命令 22 1了解宏 22 2宏命令的普通应用 22 3写宏之前的计划 23 4录制宏 24 5运行宏 26 6...
  • 4.2.8 如何在父类中为子类自动完成所有的hashcode和equals实现?这么做有何优劣。 4.2.9 请结合OO设计理念,谈谈访问修饰符public、private、protected、default在应用设计中的作用。 4.3.0 深拷贝和浅拷贝区别。 ...
  • 9-28 2 二维数组定义使用 数组排序 9-28 3 顺序查找 二分查找 9-28 4 javascript面向对象编程 9-28 5 javascript对象存在形式 9-28 6 javascript与对象 9-28 7 给对象指定成员函数 自定义工厂方法 9-30 1 课程...
  • private : 私有成员, 在类的内部才可以访问。 protected : 保护成员,该类内部和继承类中可以访问。 public : 公共成员,完全公开,没有访问限制。 internal: 在同一命名空间内可以访问。 2 .列举ASP.NET 页面...
  • 知道其行为的其它类可以在类中实现这些方法。  接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以...
  • java源码包---java 源码 大量 实例

    千次下载 热门讨论 2013-04-18 23:15:26
     Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节...保存、如何从文件中得到公钥编码的字节数组如何从字节数组解码公钥...
  • java 面试题 总结

    2009-09-16 08:45:34
    知道其行为的其它类可以在类中实现这些方法。 接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以...
  • java源码包2

    千次下载 热门讨论 2013-04-20 11:28:17
     Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节...保存、如何从文件中得到公钥编码的字节数组如何从字节数组解码公钥...
  • java源码包3

    千次下载 热门讨论 2013-04-20 11:30:13
     Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节...保存、如何从文件中得到公钥编码的字节数组如何从字节数组解码公钥...
  • Java生成密钥的实例 1个目标文件 摘要:Java源码,算法相关,密钥 Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的...保存、如何从文件中得到公钥编码的字节数组如何从字节数组解码公钥...
  • Java生成密钥的实例 1个目标文件 摘要:Java源码,算法相关,密钥 Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的...保存、如何从文件中得到公钥编码的字节数组如何从字节数组解码公钥...
  • java源码包

    2015-12-01 16:29:37
     Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节...保存、如何从文件中得到公钥编码的字节数组如何从字节数组解码公钥...
  • php高级开发教程说明

    2008-11-27 11:39:22
    如果仅仅需要遍历一个数组并将所有元素都设为0,这无疑显得太冗长了(见 清单1 - 1)。 清单1-1 一个过于冗长的实例 另一方面,使用I、j、k(而不是像$ i n s t M y I n t e g e r C o u n t e r I n s t a n c e...
  • Java生成密钥的实例 1个目标文件 摘要:Java源码,算法相关,密钥 Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的...保存、如何从文件中得到公钥编码的字节数组如何从字节数组解码公钥...
  • JAVA上百实例源码以及开源项目

    千次下载 热门讨论 2016-01-03 17:37:40
     Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节...保存、如何从文件中得到公钥编码的字节数组如何从字节数组解码公钥...
  • 13、你是如何使用jquery中的ajax的? 27 14、jquery中的$.get和$.post请求区别? 27 15、jquery中如何操作样式的? 28 16、如何设置和获取HTML和文本的值? 28 17、Jquery能做些什么? 28 18、ajax中data主要有哪...
  • 最新Java面试宝典pdf版

    热门讨论 2011-08-31 11:29:22
    70、TreeSet里面放对象,如果同时放入了父类和子类的实例对象,那比较时使用的是父类的compareTo方法,还是使用的子类的compareTo方法,还是抛异常! 48 71、说出一些常用的,包,接口,请各举5个 49 72、java中有...
  • 【基础】当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,可返回变化后的结果,那么这里到底是值传递还是引用传递? 17 【基础】重载(Overload)和重写(Override)的区别。重载的方法能否...
  • Java面试宝典2010版

    2011-06-27 09:48:27
    13、如何在weblogic中进行ssl配置与客户端的认证配置或说说j2ee(标准)进行ssl的配置? 14、如何查看在weblogic中已经发布的EJB? 十. EBJ部分 1、EJB是基于哪些技术实现的?说出SessionBean和EntityBean的区别,...
  • 比较有趣的一些进展包括如何在一些特殊的场景去定位,比如在长隧道里面,既没有 GNSS 信号,也没有太好的激光或者视觉特征的时候如何定位。 5. 合作系统(CooperativeSystems): 主要涉及如何协同多个无人车去...
  • MFC的程序框架剖析

    2015-03-05 09:53:19
    23、框架对象、文档对象和视对象是通过一个单文档模板指针来有机地组织一起,利用AddDocTemplate函数 把这个单文档模板添加到文档模板中,从而把这三个组织成为一个整体 24、MFC程序的CAboutDlg继承于...
  • 70、TreeSet里面放对象,如果同时放入了父类和子类的实例对象,那比较时使用的是父类的compareTo方法,还是使用的子类的compareTo方法,还是抛异常! 48 71、说出一些常用的,包,接口,请各举5个 49 72、java中有...
  • 我们来创建一个数组并打印出结果就一目了然了: <pre><code>javascript let arr = ['鼠', '牛', '虎', '兔', '龙', '蛇', '马', '羊', ...
  • bearcat-dao 在类(model)和数据库之间建立了一个额外的中间层,这就为如何在类和数据库表之间建立映射关系带来了更大的灵活性,使得在不用改变数据模型或者对象模型的情况下改变它们的映射关系成为可能。...
  • 代码语法错误分析工具pclint8.0

    热门讨论 2010-06-29 07:00:09
    用开发环境进行LINT也可以使用开发环境来执行LINT操作,一般开发环境都支持运行可执行文件,但不一定支持运行批处理文件,下面用Source Insight , Ultra Edit, MSVC 6.0 来举例说明如何在开发环境下进行LINT。...

空空如也

空空如也

1 2 3
收藏数 41
精华内容 16
关键字:

如何在类里面定义数组并使用