Java 您所在的位置:网站首页 如何把元素放入数组中 Java

Java

2024-07-13 15:00| 来源: 网络整理| 查看: 265

在前面的学习中数组存放的都是基本数据类型,但是这并不代表着数组只能存放基本数据类型,数组中也可以存放对象。下面用案例来具体说下怎么通过数组存放多个对象。

文章目录 一、题目二、分析三、代码 3.1、test8_AP 代码: 3.2、test8 代码: 四、补充知识:数组扩容 4.1、为什么要扩容 4.2、数组怎么扩容 4.3、扩容代码展示 4.4、结果截图

一、题目

  定义数组存储3部手机对象   手机的属性:品牌,价格,颜色。   要求:计算出三部手机的平均价格  

二、分析

  ①、抽取一个有关手机的类 test8_AP     ②、写入属性,并通过带参的构造方法给属性赋值     ③、在类中创建一个方法用来求三部手机价格的平均值 avg     ④、avg方法中需要传入一个数组arr[],遍历该数组拿到数组对象中的价格price,然后对其求平均值并返回。     ⑤、新建测试类test8,类中创建三个对象(带相应的参数)     ⑥、创建一个存放对象的数组a[],类型跟对象的类型一致test8_AP 。     ⑦、将新创建的三个对象放入数组a中。     ⑧、通过创建的任一对象调用第③步编写的求手机平均值的方法,接收返回值,最后答应在终端  

三、代码  3.1、test8_AP 代码: public class test8_AP { // todo 将对象装入数组中 String brand; int price; public test8_AP(String brand, int price) { this.brand = brand; this.price = price; } // todo 求三部手机价格的平均值 public double avg(test8_AP arr[]){ int sum = 0; double avg =0; for (int i=0;i public static void main(String[] args) { test8_AP phone1 = new test8_AP("小米", 3000); test8_AP phone2 = new test8_AP("小米", 4000); test8_AP phone3 = new test8_AP("小米", 5000); test8_AP a[] = {phone1,phone2,phone3}; double avg = phone1.avg(a); System.out.println(avg); } } 四、补充知识:数组扩容

  

 4.1、为什么要扩容

  在编写代码初期定义了一个长度固定的静态数组(内部数据都已给定),但是题目要求能够再往数组中添加多个内容,这时就需要使用数组扩容,使用数组扩容后就能够正常往数组中添加新的内容了。   

 4.2、数组怎么扩容

  ①、定义一个新的数组newarr,长度是旧数组arr的2倍   ②、通过for循环将arr中的每一项内容赋值给新的数组newarr   ③、通过循环往新数组中添加元素,下标为newarr[arr.length+i],下标为旧数组+循环数 i 的原因:为了确保新加入的数据在之前数据的后边。通过下面的代码可以知道新加入的元素下标是从3+0 ---> 3+1 -----> 3+2 ----->3+3 。   

 4.3、扩容代码展示 public class ArrayExtend { public static void main(String[] args) { // todo 定义一个长度固定的数组 int arr[] = {1,2,3}; // todo 扩容:创建一个新的数组,长度是arr的2倍 int newarr[] = new int[arr.length * 2]; // todo 不能直接使用 newarr = arr 的原因:因为这样直接赋值是只能将arr的内存地址 // 复制给newarr,达不到将其里面的内容赋值给newarr的效果 // todo 将旧的数组给新的数组 for (int i = 0; i newarr[arr.length+i]=i; } for (int i = 0; i


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有