当前位置: 首页 > 编程笔记 >

Java数组实例练习题整理

裴星洲
2023-03-14
本文向大家介绍Java数组实例练习题整理,包括了Java数组实例练习题整理的使用技巧和注意事项,需要的朋友参考一下

初级

1.定义一个函数,获取某个数组中的最小值

package practise;

public class GetMin {
  public static void getMin(int[]num){
    int min = num[0];
    for(int i=0;i<num.length;i++){
      min=(num[i]<min?num[i]:min);
    }
    System.*out*.print(min);
  }
  public static void main(String[] args){
    int []a=new int[]{8,6,4,2,5};
    *getMin*(a);

  }
}

2.定义一个数组,数组成员10个,找出数组中最大数连同下标一起输出

package practise;

public class GetmaxIndex {
  public static void main(String[] args) {
    int[] n = new int[]{1, 2, 3, 4, 5, 6, 0};
    int max = n[0];
    int index=0;
    for (int i = 0; i < n.length;i++){
      if(max<n[i]){
        max=n[i];
        index=i;
      }
    }
    System.*out*.println(max);
    System.*out*.println(index);
  }
}

3.给定一个整型数组,数组成员10个,求该数组中第二大的数的下标

package practise;

import java.util.Arrays;

public class TheSecendmax3 {
  public static void main(String[] args) {
    int[] num = new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 0};
    int[] arr1 = Arrays.*copyOf*(num, num.length);
    Arrays.*sort*(num);

    int[] num1 = Arrays.*copyOfRange*(num, 0, 9);

    System.*out*.println(num1[num1.length-1]);
    for (int i = 0; i < arr1.length-1; i++) {
      if (arr1[i] == num1[num1.length-1]) {
        System.*out*.println("第二大的数的下标为"+i);
      }


    }
  }
}

4.B哥去参加青年歌手大奖赛,有10个评委打分,(去掉一个最高一个最低)求平均分?

package practise;

import java.util.Arrays;

public class AverageScore {
  public static void main(String[] args){
    double[] num=new double[]{99,97,96,95,94,92,91,90,88,100};
    Arrays.*sort*(num);
    double[] NewNum=Arrays.*copyOfRange*(num,1,9);
    double average=0;
    double sum=0;
    for(int I=0;i<NewNum.length;i++){
      sum=sum+NewNum[I];
    }
    average=sum/NewNum.length;
    System.*out*.println(average);
  }

}

5.利用选择排序对数据进行降序排序

package practise;

public class Select_Sort {

  //原理:在一组数组里面定义一个最大数值的下标,让int[index]和其它数值挨个比较,选出最大的值int[i],
// 并把该最大值的下标i和我们原先设置的index进行置换,即index=i;
//并且把他们两个的位置进行互换,依次类推,直到完全排序好

    public static void main(String[] args){
      int[] num=new int[]{4,3,1,6,9,5};
      *ChooseSort*(num);
    }
    public static void ChooseSort(int[] array){

      for(int I=0;i<array.length;i++){
        Int index=i;//定义当前下标为最小值下标
        for(int j=I+1;j<array.length;j++){
          if(array[j]<array[index]){//a[I]<a[index] 从下到大排序
            index =j;
          }

        }

        int temp = array[index];//交换
        array[index] = array[I];
        array[I] = temp;
      }
      for (int e:array){
        System.*out*.print(e+”\t”);
      }
    }
  }

6.定义数组,存放5个学生的成绩【成绩值自己设定】,将成绩从大到小排序,获得成绩之和,平均成绩,最小成绩,最大成绩。

package practise;

import java.util.Arrays;

public class StudentScore {
  public static void Sort(double[] num) {
    Arrays.*sort*(num);
      double sum=0.0;
    for (int e=0;e<num.length;e++) {
      sum=sum+num[e];

    }

      System.*out*.println(“max=“+num[num.length-1]);
      System.*out*.println(“min=“+num[0]);
      System.*out*.println(“average=“+sum/num.length);
    System.*out*.println(“sum=“+sum);
  }
  public static void main(String[] agrs){
    double[] num=new double[]{99,97,96,95,94,92,91,90,88,100};
    *Sort*(num);
  }

}

7.定义一个长度为10的int数组,统计数组中的最大值、最小值、以及奇数和偶数的个数

package practise;

import java.util.Arrays;

public class TheSeven {
  public static void main(String[] args){
    int[] num= new int[]{99,97,96,95,94,92,91,90,88,100};
    Arrays.*sort*(num);

    int evensum=0;
    int oddsun=0;
    for(int I=0;i<num.length;i++){
      if(num[I]%2==0){
        evensum++;
      }else if(num[I]%3==0){
        oddsun++;
      }
    }

System.*out*.println(“max=“+num[0]+”,min=“+num[num.length-1]);
    System.*out*.println(“奇数的个数=“+oddsun+”偶数的个数=“+evensum);
  }
}

8.提取一个方法,将指定数组中的数组元素进行反转

例如:{10,23,2,45,6}—>{6,45,2,23,10}

package practise;

public class BackOverNumberlist {
  public static void main(String[] args){
    int[] array=new int[]{1,2,3,4,5,6,7,8};
    *BackOver*(array);
  }
  public static void BackOver(int[] array){
    for(int i=array.length-1;i>=0;i--){
      System.*out*.print(array[i]+" ");


    }

  }
}

扩展练习

输出100到1000的水仙花数:

public class LoopTest{
  public static void main(String[] args){
    int bai = 0;
    int shi = 0;
    int ge = 0;
    for(int i = 100; i < 1000; i++){
      bai = i/100;
      shi = i/10%10;
      ge = i%10;
      if(bai*bai*bai+shi*shi*shi+ge*ge*ge == i ){
        System.out.println(i);
      }
    }
  }
}

打印所有字母:

public class LoopTest{
  public static void main(String[] args){
    char lower = 'a';
    char upper = 'A';
    for(int i = 0 ; i < 26 ; i++){
      System.out.println(lower+"  "+upper);
      lower++;
      upper++;
    }
  }
}
 类似资料:
  • 本文向大家介绍详解java一维数组及练习题实例,包括了详解java一维数组及练习题实例的使用技巧和注意事项,需要的朋友参考一下 一维数组 1.一维数组的定义方式: 2.利用一维数组输出斐波那契数列的前20项 题目练习 1.实现二分查找算法:有序的数组 2.求连续子数组的最大和 3.交换两个数 用上面写的方法在执行交换两个数操作数会出现错误,原因: 在主函数中swap(a,b)操作实际是将实参a,b

  • 1. (选做题,例子)实现本章中的各例。 2. (正叶曲线)编写一个画填充正叶曲线的通用程序。可以指定叶片数、颜色、圆心和叶长(半径)等。(参见 14.7.2 的 2.和图 14-31) 3. (阴阳八卦图)编写一个绘制阴阳八卦图的通用程序。可指定各种颜色、圆心和半径等 等,参见图 14-51。 图 14-51 阴阳八卦图 4. (选做题,交互绘图)编写一个使用 GDI+接口的交互式绘图程序,实现

  • 本文向大家介绍儿童python练习实例,包括了儿童python练习实例的使用技巧和注意事项,需要的朋友参考一下 实例一: 题目:有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少? 程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列(只要百不等于十位并且不等于个位)。 实例(Python 2.0+) 实例二: 题目:企业发

  • 这里我们会把前面学习到的一维数组和多维数组进行一次练习。 对于一维数组,我们将计算数组中所有整数的和。 二维数组的例子会稍微复杂一点,我们交换一个有 N x N 个元素二维数组对角元素。 1. 一维数组练习 首先我们会初始化一个数组,然后我们会通过循环语句遍历访问数组中的每一个数值,然后求和。 #include <stdio.h> int main() { short sum = 0;

  • 用下面的练习题来测试一下你的 IPv6 的知识: 1)IPv4 和 IPv6 地址的大小是? a. 32-bits,128-bits b. 32-bits, 64-bits c. 32-bits, 112-bits d. 32-bits, 96-bits e. 上面均不是 2)下面哪项是一个有效的 IPv6 地址的符号规则? a. 在一个由16比特组成的组中,最后边的0可以被省略 b. 地址被“:

  • 动态数组是自增长的数组,它与链表有很多相同的特性。它通常占据更少的空间,跑得更快,还有一些其它的优势属性。这个练习会涉及到它的一些缺点,比如从开头移除元素会很慢,并给出解决方案(只从末尾移除)。 动态数组简单地实现为void **指针的数组,它是预分配内存的,并且指向数据。在链表中你创建了完整的结构体来储存void *value指针,但是动态数组中你只需要一个储存它们的单个数组。也就是说,你并不需