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++;
    }
  }
}
(0)

相关推荐

  • java数组的初始化及操作详解

    数组的基本概念 如果说现在要求你定义100个整型变量,那么如果按照之前的做法,可能现在定义的的结构如下: int i1, i2, i3, ... i100; 但是这个时候如果按照此类方式定义就会非常麻烦,因为这些变量彼此之间没有任何的关联,也就是说如果现在突然再有一个要求,要求你输出这100个变量的内容,意味着你要编写System.out.println()语句100次. 其实所谓的数组指的就是一组相关类型的变量集合,并且这些变量可以按照统一的方式进行操作.数组本身属于引用数据类型,那么既然是引

  • 最简单易懂的java数组排序方法整理

    前言 JAVA中在运用数组进行排序功能时,一般有四种方法:快速排序法.冒泡法.选择排序法.插入排序法.本文就给大家介绍了关于最简单易懂的java数组排序方法,下面话不多说了,来一起看看详细的介绍吧 方法如下: 1.快速排序:首先是最简单的Array.sort,直接进行排序: public static void main(String[] args) { int[] arr = {4,3,5,1,7,9,3}; Arrays.sort(arr); for (int i : arr){ Syste

  • 9个java数组常用操作实例

    数组的特点: 数组是一种最简单的复合数据类型,它是有序数据的集合,数组中的每个元素具有相同的数据类型,可以用一个统一的数组名和不同的下标来唯一确定数组中的元素.根据数组的维度,可以将其分为一维数组.二维数组和多维数组等. 总的来说,数组具有以下特点: 数组可以是一维数组.二维数组或多维数组. 数值数组元素的默认值为 0,而引用元素的默认值为 null. 交错数组是数组的数组,因此,它的元素是引用类型,初始化为 null.交错数组元素的维度和大小可以不同. 数组的索引从 0 开始,如果数组有 n

  • java二维数组遍历的2种代码

    二维数组遍历: 思想: 1.先将二维数组中所有的元素拿到 2.再将二维数组中每个元素进行遍历,相当于就是在遍历一个一维数组 第一种方法:双重for循环 //遍历二维数组 public class Traverse_a_two_dimensional_array { public static void main(String[] args) { // TODO Auto-generated method stub int[][] arr = new int[2][3];//动态创建:2个元素(外

  • Java使用反射操作数组示例

    本文实例讲述了Java使用反射操作数组.分享给大家供大家参考,具体如下: 一 实战 1 代码 import java.lang.reflect.*; public class ArrayTest1 { public static void main(String args[]) { try { // 创建一个元素类型为String ,长度为10的数组 Object arr = Array.newInstance(String.class, 10); // 依次为arr数组中index为5.6的元

  • 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){ i

  • Java 数组详解及示例代码

    下面是stackoverflow中关于数组方法的相关问题中,获得最多票数的12个数组操作方法. 1.  声明一个数组 String[] aArray = new String[5]; String[] bArray = {"a","b","c", "d", "e"}; String[] cArray = new String[]{"a","b","c&quo

  • 详解java一维数组及练习题实例

    一维数组 1.一维数组的定义方式: int[] array1 = new int[3];//声明创建一个包含3个元素的数组array1(初始值为0) int[] array2 = {1, 2, 3};//声明.创建并初始化一个包含3个元素的数组 int[] array3 = new int[] {1, 2, 3};//声明.创建并初始化一个包含3个元素的整型数组 int[] array4; array[4] = {1, 2, 3}//先声明一个数组array,再进行创建及初始化 int[] ar

  • Java学习关于循环和数组练习题整理

    循环例子: while循环和do-while循环 whlie(条件语句) { 循环体 }//先进行条件语句的判断,再进行循环体 do { 循环体 }whlie (条件语句)//先执行一次循环后再进行条件语句的判断 break语句 break语句:结束全部循环,具体应用如下: //1+2+3+...+n<1000,求n //此题可以利用break语句在和大于1000时结束循环,输出n的值 public static void deal() { int sum = 0; int i = 1; for

  • Java数组的特性_动力节点Java学院整理

    Java中的数组是对象吗? Java和C++都是面向对象的语言.在使用这些语言的时候,我们可以直接使用标准的类库,也可以使用组合和继承等面向对象的特性构建自己的类,并且根据自己构建的类创建对象.那么,我们是不是应该考虑这样一个问题:在面向对象的语言中,数组是对象吗? 要判断数组是不是对象,那么首先明确什么是对象,也就是对象的定义.在较高的层面上,对象是根据某个类创建出来的一个实例,表示某类事物中一个具体的个体.对象具有各种属性,并且具有一些特定的行为.而在较低的层面上,站在计算机的角度,对象就是

  • 堆排序实例(Java数组实现)

    堆排序:利用大根堆 数组全部入堆,再出堆从后向前插入回数组中,数组就从小到大有序了. public class MaxHeap<T extends Comparable<? super T>> { private T[] data; private int size; private int capacity; public MaxHeap(int capacity) { this.data = (T[]) new Comparable[capacity + 1]; size =

  • java数组中的异常类型整理

    对于程序中出现异常,是很多程序员不想看到的情况,因为这就需要我们去查询异常的原因,然后进行一些处理异常的操作.在Java数组操作时,也会有一些异常情况的发生.这里我们罗列出了两种:ClassCastException和NullPointerException,下面我们来看一下具体的介绍. 1.异常种类 检查型异常和非检查型异常的主要区别在于其处理方式.检查型异常都需要使用try,catch 和finally 关键字在编译器进行处理,否则会出现编译器报错.对于非检查型异常则不需要这样做.Java中

  • Java构造方法实例详解(动力节点java学院整理)

    构造函数是一种特殊的函数.其主要功能是用来在创建对象时初始化对象, 即为v对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中.构造函数与类名相同,可重载多个不同的构造函数.在JAVA语言中,构造函数与C++语言中的构造函数相同,JAVA语言中普遍称之为构造方法. 使用构造器时需要记住: 1.构造器必须与类同名(如果一个源文件中有多个类,那么构造器必须与公共类同名) 2.每个类可以有一个以上的构造器 3.构造器可以有0个.1个或1个以上的参数 4.构造器没有返回值 5.构造器总是伴随

  • Java数组模拟优先级队列数据结构的实例

    优先级队列 如果我们给每个元素都分配一个数字来标记其优先级,不妨设较小的数字具有较高的优先级,这样我们就可以在一个集合中访问优先级最高的元素并对其进行查找和删除操作了.这样,我们就引入了优先级队列 这种数据结构. 优先级队列(priority queue) 是0个或多个元素的集合,每个元素都有一个优先权,对优先级队列执行的操作有(1)查找(2)插入一个新元素 (3)删除 一般情况下,查找操作用来搜索优先权最大的元素,删除操作用来删除该元素 .对于优先权相同的元素,可按先进先出次序处理或按任意优先

  • Java 数组分析及简单实例

    Java 数组  一.什么是数组 数组?什么是数组?在我印象中的数组是应该这样的:通过new关键字创建并组装他们,通过使用整形索引值访问它的元素,并且它的尺寸是不可变的! 但是这只是数组的最表面的东西!深一点?就是这样:数组是一个简单的复合数据类型,它是一系列有序数据的集合,它当中的每一个数据都具有相同的数据类型,我们通过数组名加上一个不会越界下标值来唯一确定数组中的元素. 还有更深的,那就是数组是一个特殊的对象!!(对于这个LZ理解的不是很好,对JVM也没有看,所以见解有限). 不管在其他语言

随机推荐