Java——数组(最值、插入、删除操作实现)
/*public class Array3 {
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};
//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;
}
}*/
/*自写数组最值问题
import java.util.Scanner;
public class Array3{
public static void main(String[] args){
//1.输入一个数组
Scanner sc = new Scanner(System.in);
int[] arr = new int[10];
for(int i=0;i<10;i++){
System.out.print("请输入数组中的第"+(i+1)+"个数:");
arr [i] = sc.nextInt();
}
//2.调用求数组最大值的方法
int num = getMaxNum(arr);
System.out.println("该数组中最大的数是:"+num+"。");
}
//getMaxNum()方法
public static int getMaxNum(int[] arr){
//使用打擂思想,假定arr[0]为最大值,依次进行打擂
int maxNum = arr[0];
for(int i = 0;i<arr.length;i++){
if(arr[i]>=maxNum){
maxNum = arr[i];
}
}
return maxNum;
}
}*/
/*学习:数组查询
public class Array3 {
public static void main(String[] args) {
//查询指定位置的元素
//给定一个数组:
int [] arr = {12,34,56,7,3,56};
// 缩影 0 1 2 3 4 5
//找出索引为2的位置上对应的元素是什么?
System.out.println(arr[2]);
//功能:查询元素56对应的索引
int index = getIndex(arr,56);
if(index!=-1){
System.out.println("元素对应的索引:"+index);
}else{
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;
break; //只要找到这个元素,循环就停止;
}
}
return index;
}
}*/
/*
import java.util.Scanner;
//自写数组查询
public class Array3{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
//1.定义一个数组
int arr [] = new int[6];
//数组初始化arr[6]={2,45,14,12,26,35}
for(int i=0;i<arr.length;i++){
System.out.print("请输入第"+(i+1)+"个元素:");
arr[i] = sc.nextInt();
}
//输出完整数组
System.out.println("你输入的数组是:");
for(int j=0;j< arr.length;j++){
System.out.print(arr[j]);
}
//2.查询指定位置的元素,以第3个元素为例
System.out.println("第三个元素是:"+arr[2]+"。");
//3.查询指定元素的位置索引,查询
System.out.println("请输入要查询位置的元素:");
int num = sc.nextInt();
int Index = getIndex(arr,num);
System.out.println("元素"+num+"对应的索引位置是:"+Index+"。");
}
//定义getIndex()方法 返回值是索引位置;输入参数为数组,数值
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;
break; //查询第一个符合要求的元素
}
}
return index;
}
}*/
/*
import java.util.Scanner;
public class Array3{
public static void main(String[] args){
//1.给定一个数组
int [] arr = {12,34,56,7,3,10};
//2.输出增加元素前的数组
System.out.println("输入的数组是:");
for(int i = 0;i<arr.length;i++) {
if (i != arr.length - 1) {
System.out.print(arr[i] + ",");
} else {
System.out.print(arr[i]); //最后一个元素不加,
}
}
System.out.println(); //换行
//从键盘接收数据
Scanner sc = new Scanner(System.in);
//3.增加元素
/*
arr[5]=arr[4];
arr[4]=arr[3];
arr[3]=arr[2];
*/
/* System.out.print("请输入添加元素的索引位置:");
int Index = sc.nextInt();
System.out.print("请输入添加的元素具体值:");
int Elem = sc.nextInt();
insertElem(arr,Index,Elem);
//4.输出增加元素后的数组
System.out.println("\n增加元素后的数组是:");
for(int i=0;i<arr.length;i++){
if(i!=arr.length-1){
System.out.print(arr[i]+",");
}else{
System.out.print(arr[i]);
}
}
}
//将添加功能提取为方法
//不确定因素:哪个数组?哪个位置?哪个元素?
//返回值:void
public static void insertElem(int [] arr,int index,int ele){
for(int i = arr.length-1;i>=(index+1);i--){
arr[i]=arr[i-1];
}
arr[index]=ele;
}
}
*/
import java.util.Arrays;
public class Array3{//删除指定位置的元素
public static void main(String[] args) {
//功能:给定一个数组,删除下标为2的元素/删除元素3
//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)); //Arrays.toString(arr);
//找到要删除元素的索引
int index = -1; //初值为-1
for(int i = 0;i<arr.length;i++){
if(arr[i]==3){ //删除指定的元素
index = i;
break;
}
}
//3.删除元素
/*
arr [2] = arr [3];
arr [3] = arr [4];
arr [4] = arr [5];
arr [5] = 0;
*/
if(index!=-1) {
for (int i = index; i <= arr.length - 2; i++) {
arr[i] = arr[i + 1];
}
arr[arr.length - 1] = 0;
}else{
System.out.println("根本没有你要找的元素!");
}
//4.输出删除后的数组
System.out.println("删除元素后的数组是:"+Arrays.toString(arr));
}
}