把一个数组分为多个数组

时间:2024-10-09 22:34:52
/*int[]arr={1,2,5,213,75,42,64,48,21,44,22};
分为3个数组 第一个数组满足全是偶数
第二个数组满足全是3的倍数 第三个数组满足其他*/
public class E{
	public static void main(String[]args){
	int[]arr={1,2,5,213,75,42,64,48,21,44,22};
		int b=0,c=0,d=0;
		//遍历数组,得到每个数组的长度,bcd.
		for(int i=0;i<;i++){
			if(arr[i]%2==0){
			b++;
			}
			else if(arr[i]%3==0){
			c++;
			}
			else{
			d++;
			}
		}
	    //申明三个数组
		int[]brr=new int[b];
		int[]crr=new int[c];
		int[]drr=new int[d];
		//给每个数组赋值.
		for(int i=0,b1=0,c1=0,d1=0;i<;i++){
			if(arr[i]%2 == 0){
				brr[b1]=arr[i];
				b1++;
				}
			else if(arr[i]%3 == 0){
				crr[c1]=arr[i];
				c1++;
				}
			else{
				drr[d1]=arr[i];
				d1++;
				}
		}
		//原来数组
		for(int i = 0;i<;i++){
		(arr[i]+" ");
		}
		("\n");
		//被分开的数组.
		
		for(int i=0;i<;i++){
			(brr[i]+" ");
		}
		("\n");
		for(int i=0;i<;i++){
			(crr[i]+" ");
		}
		("\n");
		for(int i=0;i<;i++){
			(drr[i]+" ");
		}	
	}
}//此题注意b1,c1,d1三个变量的改变
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58

在这里插入图片描述