第六章.数组;数组练习题;1

1.查找数组元素为98的元素下标

public static void main003(String[] args) {
    int[] arr={35,12,36,98,78,556,25};
    int num=98;
    for(int i=0;i<arr.length;i++){
        if(arr[i]==num){
            System.out.println("元素下标为+"+i);
        }
    }
}

2.遍历String数组元素

public static void main004(String[] args) {
    String[] arr={"red","yellow","green","blue","orange","pink","grey"};
    for(int i=0;i<arr.length;i++){
        System.out.print(arr[i]+" ");
    }
}

3.冒泡排序

public static void main005(String[] args) {
    int num[]={23,15,42,59,35,18};
    for(int i=0;i<num.length;i++){
        System.out.println(num[i]+" ");
    }
    for(int i=0;i<num.length;i++){
        for(int k=i+1;k<num.length;k++){
            if(num[i]>num[k]){
                int t=num[i];
                num[i]=num[k];
                num[k] =t;
            }
        }
    }
    System.out.println("排序。。");
    for (int i=0;i<num.length;i++){
        System.out.println(i);
    }
}

4.二维数组取成绩最高的;id,成绩

public static void main006(String[] args) {
    int store[][]={{1,76},{2,85},{3,46},{4,69},{5,96}};
    int max=0;
    int id=0;
    for(int i=0;i<store.length;i++){
        if(store[i][1]>max){
            max=store[i][1];
            id=store[i][0];
        }
    }
}
public static void main007(String[] args) {
    int max=0;
    int id=0;
    int arr[][]={{1,76,5,7},{2,85,3,46},{4,69,5,96}};
    for(int i=0;i<arr.length;i++){
        for(int k=0;k<arr[i].length;k++){
            if(arr[i][i]>max){
                max=arr[0][i];
            }
        }
        if(arr[0][i]>max){

        }
    }
}

5.有这样一个数组,元素是{68,27,95,88.171,996,51,210},求出该数组中满足要求的元素的和
要求:求和的元素个位和十位都不能是7,并且只能是偶数
//做法1;先让ide等于数组中的某个索引的元素,再在if判断条件后用for循环相加

public static void main(String[] args) {
    int arr[]={68,27,95,88,171,996,51,210};
    int sum=0;
    int ide=0;
    for(int a=0;a<arr.length;a++){
        ide=arr[a];
        if((ide%10!=7 && ide/10%10!=7) &&(ide%2==0)){
            sum+=ide;
        }
    }
    System.out.println(sum);
}

做法2;直接用元素下标表示元素

public static void main009(String[] args) {
    int arr[]={68,27,95,88,171,996,51,210};
    int sum=0;
    for (int a=0;a<arr.length;a++){
        if((arr[a]/10!=7 && arr[a]/10%10!=7) &&(arr[a]%2==0)){
            sum+=arr[a];
        }
    }
    System.out.println(sum); //结果是1362
}

6.循环遍历二维数组,输出所有元素

public static void main10(String[] args) {//循环遍历二维数组,输出所有元素
		int date [][] = new int[][] {
			{1,2,3},{4,5,6},{7,8,9}
		};
		for(int i=0;i<date.length;i++) {
			for(int j=0;j<date[i].length;j++) {	
				// System.out.println("date["+i+"]["+j+"]");
				System.out.println("data[" + i + "][" + j + "]=" + date[i][j]);
			}
			System.out.println();
		}	
	}

7.循环遍历二维数组,输出指定下标的元素

public static void main11(String[] args) {
		int date [][] = new int[][] {  {1,2,3},{4,5,6},{7,8,9}  };	
			for(int i=0;i<date.length;i++) {
				for(int j=0;j<date[i].length;j++) {	
					if(i==2 && j==2) {
						System.out.println(date[i][j]);
					}
				}
			}	
		}

8.求最高分和学号

public static void main12(String[] args) {
		int fen [][]={ {1,68},{2,98},{3,72},{4,65}  };
		int max=0;
		int id=1;
		for(int a=0;a<fen.length;a++) {
			for(int b=0;b<fen[a].length;b++) {
				if(fen[a][b]>max) {
					max=fen[a][b];
					id=a;
				}
			}
		}
		System.out.println("最高分是"+max+"学号是"+id);
	}

9.查找二维整型数组中的最大数及其位置。

public static void main(String[] args) {
		 int array[][] = { { 23, 2, 64, 16 }, { 35, 56, 97, 28 },{ 29, 10, 81, 12 } };
		 int max=0;
		 int id=0;
		 int shu=0;
		 for(int a=0;a<array.length;a++) {
			 for(int b=0;b<array[a].length;b++) {
				 if(array[a][b]>max) {
					 max=array[a][b];
					 id=a+1;
					 shu=b+1;
				 }
			 }
		 }
		 System.out.println("最大的数为第"+id+"行的第"+shu+"个数");
	}

10.元素数字从小到大排列输出

public static void main(String[] args) {
		 int[] arr = {5,1,6,4,2,8,9};
		 for (int i = 0; i < arr.length; i++) {
			for (int j = i+1; j < arr.length; j++) {
				if(arr[j]<arr[i]) {
					int temp=arr[i];
					arr[i]=arr[j];
					arr[j]=temp;
				}
			}	
			System.out.println(arr[i]);
		} 
	}

11。复制数组
复制数组{1,2,3,4,5}中从下标0开始的5个元素到目标数组{6,7,8,9,10,11,12,13,14,15},并从目标数组的下标为0的位置开始储存

 public static void main(String args[]) {
                   int aa[] = new int[] { 1, 2, 3, 4, 5 };
                   int bb[] = new int[] { 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 };
                   System.arraycopy(aa, 0, bb, 0, 5);
                   for (int i = 0; i < aa.length; i++) {
                            System.out.print(aa[i] + " ");
                   }
                   System.out.println();
                   for (int j = 0; j < bb.length; j++) {
                            System.out.print(bb[j] + " ");
                   }
                   System.out.println();
         }

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数组练习题: 1. 统计一个数组中所有元素的和。 2. 找出一个数组中的最大值。 3. 找出一个数组中的最小值。 4. 将一个数组中的元素按照从小到大的顺序排序。 5. 将一个数组中的元素按照从大到小的顺序排序。 6. 将一个数组中的元素进行反转。 7. 统计一个数组中某个元素出现的次数。 8. 找出一个数组中第二大的元素。 9. 找出一个数组中第二小的元素。 10. 判断一个数组是否为回文数组(即正着读和倒着读都一样)。 接口练习题: 1. 创建一个接口,在接口中定义一个常量和一个抽象方法。 2. 创建一个实现了上述接口的类。 3. 创建一个类,该类中包含一个方法,该方法接收一个实现了上述接口的对象作为参数,并调用该对象的抽象方法。 4. 创建一个接口,其中定义一个默认方法和一个静态方法。 5. 创建一个实现了上述接口的类,并重写默认方法。 6. 创建一个类,该类中包含一个方法,该方法接收一个实现了上述接口的对象作为参数,并调用该对象的默认方法。 7. 创建一个类,该类实现了两个接口,并重写了两个接口中的方法。 8. 创建一个方法,该方法接收一个实现了某个接口的类的对象作为参数,并调用该对象的方法。 9. 创建一个接口,其中定义一个抽象方法和一个默认方法。 10. 创建一个实现了上述接口的类,并同时重写了抽象方法和默认方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值