JAVA-Eclipse使用

Eclipse使用,数组操作

1.Eclipse使用
1.1 Eclipse获取

Eclipse官网
在这里插入图片描述

Eclipse下载页面

在这里插入图片描述

1.2 Eclipse安装和准备

1.3 在Eclipse中创建第一个Java Project Java项目

1.File -> New -> Java Project

Alt + Shift + N Or Ctrl + N

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ruzquyIH-1587901637059)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20200426104516544.png)]

2. 创建

Java Project配置页面

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-edvTkXow-1587901637060)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20200426104544776.png)]

3.创建包

请添加图片描述

4.创建包配置

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mIfD7UUt-1587901637061)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20200426104633728.png)]

创建java程序

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MraOOfif-1587901637061)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20200426105644827.png)]

6.配置类名

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7TzWIQkT-1587901637061)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20200426172000519.png)]

7Ctrl + +/-
	调整代码区字号
2.作业讲解
2.1 找出数组中最大值的下标位置
package com.qfedu.a.homework;

public class HomeWork1 {
    public static void main(String[] args) {
    int[] array= {1, 3, 5, 7, 9, 2, 4, 6, 8, 10};
    int maxIndex = maxIndexOf(array);
        System.out.println("最大值下标位置:"+maxIndex);
    }
    /*
    * a. 找出数组中最大值的下标位置
    * 方法分析:* 固定格式:
    * public static 不要问
    * 返回值类型:
    * int 返回值数据是类型* 方法名:
    * maxIndexOf 最大值下标位置* 形式参数列表:
    * int[] arr 这里需要在一个int类型数组中找出
    *
    * 方法声明:
    * public static int maxIndexOf(int[]arr)
    */
    /*
    *
    * 找出数组中最大值的下标位置
    *
    * @param arr 查询最大值下标位置的数组
    * @return 返回最大值所在的下标位置,int类型
	*/
    public static int maxIndexOf(int[] arr) {
        int maxIndex=0;
        for (inti=1; i<arr.length; i++) {
            if (arr[maxIndex] <arr[i]) {
                maxIndex = i;
            }
        }
        returnmaxIndex;
    }
}
2.2 找出数组中最小值的下标位置
package com.qfedu.a.homework;

public class HomeWork2 {
	public static void main(String[] args) {
		int[] array = {1, 3, 5, 7, 9, 2, 4, 6, 8, 10};
		
		int mindex = mainIndexOf(array);
		
		System.out.print(mindex);
	}
	
	/**
	 * 找出数组中最小值下标位置
	 * 
	 * 
	 * @param array 查询操作的数组
	 * @return 最小值的下标位置
	 */
	
	public static int mainIndexOf(int[] array) {
		int minIndex = 0;
		for (int i = 0; i < array.length; i++) {
			if (array[minIndex] > array[i] ) {
				i = minIndex;
			}
		}
		return minIndex;
	}
	
}
2.3 在指定位置插入指定元素【难点】
c. 在指定位置插入指定元素【难点】
    存在一个数组,数组中的元素为
    	int[] array= {1, 3, 5, 7, 9, 11, 13, 15,17, 0};
		要求
    		1.0是无效元素,仅占位使用
            2.当前数组中【有效元素】个数为9
        需求
            在该数组中的指定下标位置放入指定元素

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EzHnZrPT-1587901637062)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20200426173053686.png)]

代码运行中是否有需要考虑的异常情况?
	越界问题
		用户指定的下标位置,超出的有效位置
		
需要在代码中进行参数合法性判定!!
方法分析:
	固定格式:
		public static
    返回值类型:
        void:
			OK选择!!!
    	int:
			操作成功返回1,失败返回-1
        boolean:[选择]
			添加成功返回true,运行失败返回false
    方法名:
		add这里是一个添加操作
    形式参数列表:
        1.添加数据的数组
        2.指定添加的下标位置
        3.指定添加的数据
        (int[] arr, intindex, intinsert)
方法声明:
    public static boolean add(int[] arr, intindex, intinsert)
package com.qfedu.a.homework;

public class HomeWork3 {
	public static void main(String[] args) {
		int[] array = {1, 3, 5, 7, 9, 11, 13, 15, 17, 19};
		
		boolean ret = add(array, 5, 100);
		if (true == ret) {
			for (int i = 0; i < array.length; i++) {
				System.out.println(array[i]);
			} 
		} else {
			System.out.println("运行失败");
		}
	}
	
	/**
	 * 在数组arr中指定下标位置,添加指定元素
	 * 
	 * @param arr 添加元素是数组
	 * @param index 指定添加数据的下标位置
	 * @param insert 指定添加的数据
	 * @return 方法运行成功完成添加操作,返回true,否则返回false
	 */
	
	public static boolean add(int[]arr, int index, int insert) {
		if (index < 0 || index > arr.length - 1) {
			
			System.out.println("Input ");
			return false;
		} 
			for (int i = arr.length - 1; i > index; i--) {
				arr[i] = arr[i - 1];
			}
			arr[index] = insert;
			return true;
		
		
	}
}
2.4删除数组中的指定下标的元素【难点】
d. 删除数组中的指定下标的元素【难点】
    存在一个数组,数组中的元素为
    int[] array = {1, 3, 5, 7, 9, 11, 13, 15,17, 19};
	要求:
		1. 0是无效元素,仅占位使用
    需求:
		在当前数组中删除指定下标的元素
    例如:
		删除下标5的元素
    结果 {1, 3, 5, 7, 9, 13, 15, 17, 19, 0}
	0占位!!!

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MgZ3PRgL-1587901637062)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20200426173716626.png)]

方法分析:
	固定格式:
		public static不要问
    返回值类型:boolean: 检测方法方法运行的状态,运行成功返回true,运行失败返回false
    方法名:
		remove√
    	delete
    形式参数列表:
    	1.int[] arr需要删除数据的数组
    	2.intindex指定删除的下标位置
    		这里需要对于下标位置进行判断,必须是一个合法的下标位置
    (int[] arr, intindex)
方法声明:
	public static boolean remove(int[] arr, intindex)
方法分析:
	固定格式:
		public static
    返回值类型:
        void:
			OK选择!!!
    	int:
			操作成功返回1,失败返回-1
        boolean:检测方法方法运行的状态,运行成功返回true,运行失败返回false
    方法名:
		remove√delete
    形式参数列表:
        1.int[] arr需要删除数据的数组
        2.intindex指定删除的下标位置
            这里需要对于下标位置进行判断,必须是一个合法的下标位置
            (int[] arr, intindex)
方法声明:
    public static boolean remove(int[] arr, intindex)

package com.qfedu.a.homework;

public class HomeWork4 {
	public static void main(String[] args) {
		int[] array = {1, 3, 5, 7, 9, 11, 13, 15, 17, 19};
		boolean ret = remover(array, 5);
		if (ret == false) {
			System.out.print("输入失败");
		} else {
			for (int i = 0; i < array.length; i++) {
				System.out.println(array[i]);
			}
			System.out.println();
		}
	}
	
	/**
	 * 
	 * @param array 需要进行参数操作的数据
	 * @param index
	 * @return 方法运行成功返回true,失败返回false
	 */
	public static boolean remover(int[] arr, int index) {
		if (index < 0 || index > arr.length - 1) {
			System.out.println("Input Parmeter is Invalid!");
			return false;
		}
		
		for (int i = index; i < arr.length - 1; i++) {
			arr[i] = arr[i + 1];
				
		}
		arr[arr.length - 1] = 0;
		return true;
	}
}

3.选择排序算法推导
3.1找出数组中最大值,和下标为0的元素互换位置
int index = 0;
		for (int i = 1; i < arr.length; i++) {
			if (arr[index] < arr[i]) {
				index = i;
			}
		}
		if (index != 0) {
			int temp = arr[0];
			arr[0] = arr[index];
			arr[index] = temp;
		}
3.2 接上一题, 找出数组中剩余数据最大值,和下标为1的元素互换位置
int index = 1;	
		for (int i = 2; i < arr.length; i++) {
			if(arr[index] < arr[i]) {
				index = i;
			}
		}
		if (index != 1) {
			int temp = arr[1];
			arr[1] = arr[index];
			arr[index] = temp;
		}
3.3 接上一题, 找出数组中最大值,和下标为2的元素互换位置
int index = 2;
		
		for (int i = 3; i < arr.length; i++) {
			if(arr[index] < arr[i]) {
				index = i;
			}
		}
		if (index != 2) {
			int temp = arr[2];
			arr[2] = arr[index];
			arr[index] = temp;
		}

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值