大数据必学Java基础(二十六):数组的应用题
Posted Lansonli
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大数据必学Java基础(二十六):数组的应用题相关的知识,希望对你有一定的参考价值。
文章目录
1、实现一个功能:给定一个数组int[] arr = 12,3,7,4,8,125,9,45; ,求出数组中最大的数
数组的应用题
一、最值问题
1、实现一个功能:给定一个数组int[] arr = 12,3,7,4,8,125,9,45; ,求出数组中最大的数
思路图:
public class TestArray04
public static void main(String[] args)
//实现一个功能:给定一个数组int[] arr = 12,3,7,4,8,125,9,45; ,求出数组中最大的数。
//1.给定一个数组
int[] arr = 12,3,7,4,8,125,9,45,666,36;
//2.求出数组中的最大值:
//先找一个数上擂台,假定认为这个数最大:
int maxNum = arr[0];
for(int i=0;i<arr.length;i++)
if(arr[i]>maxNum)
maxNum = arr[i];
System.out.println("当前数组中最大的数为:"+maxNum);
2、 将求最大值的方法提取出来
public class TestArray04
public static void main(String[] args)
//实现一个功能:给定一个数组int[] arr = 12,3,7,4,8,125,9,45; ,求出数组中最大的数。
//1.给定一个数组
int[] arr = 12,3,7,4,8,725,9,45,666,36;
//2.求出数组中的最大值:
//调用方法:
int num = getMaxNum(arr);
System.out.println("当前数组中最大的数为:"+num);
/*
想提取一个方法:求数组中的最大值
求哪个数组中的最大值 ---》不确定因素:哪个数组 (形参)---》返回值:最大值
*/
public static int getMaxNum(int[] arr)
//先找一个数上擂台,假定认为这个数最大:
int maxNum = arr[0];
for(int i=0;i<arr.length;i++)
if(arr[i]>maxNum)
maxNum = arr[i];
return maxNum;
3、画内存
方法的实参传递给形参的时候一定要注意:一切都是值传递:
如果是基本数据类型,那么传递的就是字面值
如果是引用数据类型,那么传递的就是地址值
二、查询问题
1、查询指定位置的元素
public class TestArray05
public static void main(String[] args)
//查询指定位置的元素
//给定一个数组:
int[] arr = 12,34,56,7,3,10;
//查找索引为2的位置上对应的元素是什么?
System.out.println(arr[2]);
上面代码体现了数组的一个优点:
在按照位置查询的时候,直接一步到位,效率非常高
2、查询指定元素的位置--》找出元素对应的索引
public class TestArray06
public static void main(String[] args)
//查询指定元素的位置--》找出元素对应的索引
//给定一个数组:
int[] arr = 12,34,56,7,3,56;
// 0 1 2 3 4 5
//功能:查询元素888对应的索引:
int index = -1; //这个初始值只要不是数组的索引即可
for(int i=0;i<arr.length;i++)
if(arr[i]==12)
index = i;//只要找到了元素,那么index就变成为i
break;//只要找到这个元素,循环就停止
if(index!=-1)
System.out.println("元素对应的索引:"+index);
else//index==-1
System.out.println("查无次数!");
3、将查指定元素对应的索引的功能提取为方法
public class TestArray06
public static void main(String[] args)
//查询指定元素的位置--》找出元素对应的索引
//给定一个数组:
int[] arr = 12,34,56,7,3,56;
// 0 1 2 3 4 5
//功能:查询元素888对应的索引:
//调用方法:
int index = getIndex(arr,999);
//后续对index的值进行判断:
if(index!=-1)
System.out.println("元素对应的索引:"+index);
else//index==-1
System.out.println("查无次数!");
/*
定义一个方法:查询数组中指定的元素对应的索引:
不确定因素:哪个数组,哪个指定元素 (形参)
返回值:索引
*/
public static int getIndex(int[] arr,int ele)
int index = -1; //这个初始值只要不是数组的索引即可
for(int i=0;i<arr.length;i++)
if(arr[i]==ele)
index = i;//只要找到了元素,那么index就变成为i
break;//只要找到这个元素,循环就停止
return index;
三、添加元素
1、实现一个功能
添加逻辑
public class TestArray07
public static void main(String[] args)
//功能:给定一个数组,在数组下标为2的位置上添加一个元素91
//1.给定一个数组:
int[] arr = 12,34,56,7,3,10,55,66,77,88,999,89;
// 0 1 2 3 4 5
//2.输出增加元素前的数组:
System.out.print("增加元素前的数组:");
for(int i=0;i<arr.length;i++)
if(i!=arr.length-1)
System.out.print(arr[i]+",");
else//i==arr.length-1 最后一个元素不用加,
System.out.print(arr[i]);
//3.增加元素
/*
arr[5] = arr[4];
arr[4] = arr[3];
arr[3] = arr[2];
*/
int index = 1;//在这个指定位置添加 元素
for(int i=arr.length-1;i>=(index+1);i--)
arr[i] = arr[i-1];
arr[index] = 666;
//4.输出增加元素后的数组:
System.out.print("\\n增加元素后的数组:");
for(int i=0;i<arr.length;i++)
if(i!=arr.length-1)
System.out.print(arr[i]+",");
else//i==arr.length-1 最后一个元素不用加,
System.out.print(arr[i]);
2、将添加功能提取为一个方法
import java.util.Scanner;
public class TestArray07
public static void main(String[] args)
//功能:给定一个数组,在数组下标为2的位置上添加一个元素91
//1.给定一个数组:
int[] arr = 12,34,56,7,3,10,55,66,77,88,999,89;
// 0 1 2 3 4 5
//2.输出增加元素前的数组:
/*
System.out.print("增加元素前的数组:");
for(int i=0;i<arr.length;i++)
if(i!=arr.length-1)
System.out.print(arr[i]+",");
else//i==arr.length-1 最后一个元素不用加,
System.out.print(arr[i]);
*/
//从键盘接收数据:
Scanner sc = new Scanner(System.in);
System.out.println("请录入你要添加元素的指定下标:");
int index = sc.nextInt();
System.out.println("请录入你要添加的元素:");
int ele = sc.nextInt();
//3.增加元素
//调用方法:
insertEle(arr,index,ele);
//4.输出增加元素后的数组:
System.out.print("\\n增加元素后的数组:");
for(int i=0;i<arr.length;i++)
if(i!=arr.length-1)
System.out.print(arr[i]+",");
else//i==arr.length-1 最后一个元素不用加,
System.out.print(arr[i]);
/*
提取一个添加元素的方法:
在数组的指定位置上添加一个指定的元素。
在哪个数组的哪个位置添加哪个元素!
不确定因素:形参:哪个数组,哪个位置,哪个元素
返回值:无
*/
public static void insertEle(int[] arr,int index,int ele)
for(int i=arr.length-1;i>=(index+1);i--)
arr[i] = arr[i-1];
arr[index] = ele;
四、删除元素
1、实现一个功能:删除指定位置上的元素
删除逻辑
import java.util.Arrays;
public class TestArray08
public static void main(String[] args)
//功能:给定一个数组,删除下标为2元素
//1.给定一个数组:
int[] arr = 12,34,56,7,3,10,34,45,56,7,666;
// 0 1 2 3 4 5
//2.输出删除前的数组:
System.out.println("删除元素前的数组:"+Arrays.toString(arr));
//3.删除
/*
arr[2] = arr[3];
arr[3] = arr[4];
arr[4] = arr[5];
*/
int index = 0;
for(int i=index;i<=arr.length-2;i++)
arr[i] = arr[i+1];
arr[arr.length-1] = 0;
//4.输出删除后的数组:
System.out.println("删除元素后的数组:"+Arrays.toString(arr));
- 📢博客主页:https://lansonli.blog.csdn.net
- 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
- 📢本文由 Lansonli 原创,首发于 CSDN博客🙉
- 📢停下休息的时候不要忘了别人还在奔跑,希望大家抓紧时间学习,全力奔赴更美好的生活✨
以上是关于大数据必学Java基础(二十六):数组的应用题的主要内容,如果未能解决你的问题,请参考以下文章