【JavaSE_06】Java中的数组(array)-提高练习

#1.求1!+2!+3!+···+30!的和,定义一个方法

public class Test1{
	public static void main(String[] args){
		//1.求1!+2!+3!+···+30!的和,定义一个方法
		long sum=0;
		for(int i=1;i<=30;i++){
			sum+=getJieCheng(i);
		}
		System.out.println("sum="+sum);
	}
	
	public static int getJieCheng(int a){
		int jieCheng=1;
		for(int i=1;i<=a;i++){
			jieCheng*=i;
		}
		return jieCheng;
	}
	
}

#2.定义一个整型数组,求数组中奇数的个数和偶数的个数

public class Test2{
	public static void main(String[] args){
		//2.定义一个整型数组,求数组中奇数的个数和偶数的个数
		int[] arr={1,3,5,6,2,56,5};
		
		//偶数的个数
		int count=0;
		for(int i=0;i<arr.length;i++){
			if(arr[i]%2==0){
				count++;
			}
		}
		System.out.println("Evencount="+count);
		System.out.println("Oddcount="+(arr.length-count));
	}
}

#3.oddArr={1,3,5,0,0,6,6,0,5,4,7,0,5}要求将数组中为0的项去掉,将不为0的项存入一个新数组

public class Test3{
	public static void main(String[] args){
		//3.oddArr={1,3,5,0,0,6,6,0,5,4,7,0,5}
		//要求将数组中为0的项去掉,将不为0的项存入一个新数组
		int[] oddArr={1,3,5,0,0,6,6,0,5,4,7,0,5};
		
		//计算数组中0的个数,为新数组做准备
		int count=0;
		for(int i=0;i<oddArr.length;i++){
			if(oddArr[i]==0){
				count++;
			}
		}
		
		//创建新数组
		int count1=0;
		int[] newArr=new int[oddArr.length-count];
		for(int i=0;i<oddArr.length;i++){
			if(oddArr[i]!=0){
				count1++;
				newArr[count1-1]=oddArr[i];
			}
		}
		for(int m:newArr){
			System.out.print(m+" ");
		}
		
	}
}

#4.有30个09之间的数字,统计09中每个数字出现的次数

import java.util.Arrays;
public class Test4{
	public static void main(String[] args){
		//有30个0~9之间的数字,统计0~9中每个数字出现的次数
		//int random=(int)(Math.random()*10);
		int[] arr=new int[30];
		
		//给数组赋值
		for(int i=0;i<arr.length;i++){
			arr[i]=(int)(Math.random()*10);
		}
		
		//统计每个数的出现的次数
		int[] count=new int[10];
		
		for(int i=0;i<count.length;i++){
			for(int j=0;j<arr.length;j++){
				if(arr[j]==i){
					count[i]++;
				}
			}
		}
		
		System.out.println("原数组中的值:"+Arrays.toString(arr));
		System.out.println("从0~9每个数字出现的次数:"+Arrays.toString(count));
	}
}

#5.在排序好的数组中添加一个数字,将数字放在一个合适的位置

import java.util.Arrays;
public class Test5{
	public static void main(String[] args){
		//5.在排序好的数组中添加一个数字,将数字放在一个合适的位置
		int[] arr=new int[20];
		
		//给数组添加数字
		for(int i=0;i<arr.length;i++){
			arr[i]=(int)(Math.random()*30)+1;
		}
		System.out.println("原数组:"+Arrays.toString(arr));
		//给数组排序
		//选择排序
		for(int i=0;i<arr.length-1;i++){
			int index=i;
			for(int j=i+1;j<arr.length-1;j++){
				if(arr[index]>arr[j]){
					index=j;
				}
			}
			
			//实现交换
			int temp=arr[i];
			arr[i]=arr[index];
			arr[index]=temp;
		}
		System.out.println("排好序的数组:"+Arrays.toString(arr));
		
		//定义一个放入的数字
		int a=5;
		
		//先获取数字应该放入的位置
		int count=0;
		for(int i=0;i<arr.length;i++){
			if(arr[i]<a){
				count++;
			}
		}
		
		//将新的数字放到数组中
		int[] newArr=new int[21];
		for(int i=0;i<newArr.length;i++){
			if(i<=count){
				newArr[i]=arr[i];
			}else if(i==count+1){
				newArr[i]=a;
			}else{
				newArr[i]=arr[i-1];
			}
		}
		System.out.println("插入数字后的新数组:"+Arrays.toString(newArr));
	}	
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值