数组的查询大小、替换、删除以及添加

数组自身

int nums[]=new int[4];//数组坐标从0开始,坐标-1结束;超出范围编译不会报错,但是运行会报错
//java.long.ArrayIndexOutOfBoundsException

num.length;/*获取数组的长度
    	*没有小括号的话代表属性,获取数组的长度是length属性
    	*带了小括号的是方法函数,由字符串调用获取长度是length方法
		*/
		

数组在声明之后已经有值了,整形变量默认为0;浮点型变量默认为0.0;boolean类型默认为false;char类型默认值是0的ascII码{输出会变成“方块”};string类型默认值是null;

int nums[]={1,5,8,19,6};//直接声明并且赋值,只能写成一行;
system.out.print(nums.length);//打印出结果是5,最后一个格子的位置已经被自动移开;

寻找数组的最大最小值操作

//将第一个设为最大值(理论)
int max=nums[0];
for(int i=1;i<nums.legth;i++){
    if(max<nums[i]){
        max=num[i];
    }
}
system.out.print("最大值为+"max);

数组内查询并且替换

Scanner sc = new Scanner(System.in);
		System.out.println("请输入你的第一个数字");
		int num1 = sc.nextInt();
		System.out.println("请输入你的第二个数字");
		int num2 = sc.nextInt();
		int numgroup[] = { 1, 2, 1, 99, 25, 1, 0, 4, 2, 99, 4 };
		boolean flag = false;//判断状态

		for (int i = 0; i < numgroup.length; i++) {
			if (numgroup[i] == num1) {
				numgroup[i] = num2;
				flag = true;
            }
		}
		if (flag == true) {
			for (int j = 0; j < numgroup.length; j++) {
				System.out.print(numgroup[j] + " ");
			}
		} else {
			System.out.println("没能找到可以代替的数字!");
		}

String str="abcdef";
int i=str.indexOf("h");
System.out.println(i);//如何找到字符串中的某一个字符的位置

删除数组中某一个数字

		Scanner input = new Scanner(System.in);
		int [] nums = {3,7,9,11,22};
		System.out.println("请输入你要删除的数字");
		int n = input.nextInt();
		
		int index = -1;
		
		for(int i=0; i<nums.length; i++) {
			if(nums[i] == n) {
				index = i;
				break;
			}
		}
		
		if(index != -1) {
			int [] newNums = new int[nums.length - 1];
			
			//要删除数字之前的数据直接复制过来
			for (int i = 0; i < index; i++) {
				newNums[i] = nums[i];
			}
			
			//3 7 9 11 22
			//3 7 11 22
			
			//要删除数字之后的数据往后移动一位复制过来
			for (int i = index; i < newNums.length; i++) {
				newNums[i] = nums[i+1];
			}
			
			System.out.println("新的数组是:");
			for (int i = 0; i < newNums.length; i++) {
				System.out.println(newNums[i]);
			}
			
		}
		else {
			System.out.println("没有你要删除的数字");
		}for (int =0 ;i<nums.length;i++)
    if(nums[i]==n){
        index=1;
        break;
    }

if(index!=-1){
    int []newNUms=new int[nums.length-1]
        for (int  i=0;i<index;i++){
            newNums[i]=nums[i];
        }
        for (int i=index;i<newNUms.length;i++){
            newNUms[i]=nums[i+1];
        }
        system.out.print(newNUms[i]);
}
else{   }//没找到

添加新的数字进入数组

int []num={1,5,9,12,55};
syso//请输入新加入的数字
int n=sc.nextInt();
//先循环判断输入的数字应该放在什么位置
int newNUms[]=new int [num.length+1];
int index=-1;//序号
for(int i=0;i<num.length;i++){
    
}
for(int i=0;i<num.length;i++){
    if(num[i]>n){
        index=i;
        break;
    }
}
if(index==-1){
    //如果到最后都为-1,说明用户输入的数字是最大的一个
    newNums[newNUms.length-1]=用户输入的数字
}else{
    //把数组的每个位置依次往后面移动,直到移动到要插入的位置位置
    for(int i=newNUms.length-1;i>index;i--){
        newNUms[i]=newNums[i-1];
    }
    newNUms[index]=用户输入的数字;
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值