ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java小练习(数组)

2022-08-05 03:00:07  阅读:132  来源: 互联网

标签:arr Java int 练习 System length 数组 public


知识点

数组

题目1

请创建一个长度为6的整数数组,并为数组中的元素赋值。遍历数组,打印所有元素,元素之间用空格隔开。比如:

数组为:{1,2,3,4,5}
打印结果:1 2 3 4 5

public class Test4 {
   public static void main(String[] args) {
       //定义数组
       int[] arr = {1, 2, 3, 4, 5};
       //通过循环来进行遍历打印
       for (int i = 0; i < arr.length; i++) {
           System.out.print(arr[i] + " ");
      }
  }
}

运行结果

 

 

题目2

现有一个小数数组{12.9, 53.54, 75.0, 99.1, 3.14}。请编写代码,找出数组中的最小值并打印。

package Array;

public class Demo2 {
   public static void main(String[] args) {
       //定义小数数组
       double[] arr = {12.9, 53.54, 75.0, 99.1, 3.14};

       //定义最小值,为简化之后的运算,将其初始化为arr[0]
       double min = arr[0];

       //通过循环遍历数组,同时进行排序
       for (int i = 1; i < arr.length; i++) { //此行代码从1开始而不是从0开始是由于已经将最小值定义为arr[0],无需再进行与arr[0]的比对
          min = arr[i] < min?arr[i]:min; //使用三元运算符来简化,需要注意的是三元运算符仅为运算符
          // arr[i] < min?min = arr[i]:min = min; 此为当时编译错位的原句
      }
       System.out.println(min);


  }
}

运行结果

 

 

题目3

创建一个长度为6的整数数组。请编写代码,随机生成六个0(包含)-100(不包含)之间的整数存放到数组中,然后计算出数组中所有元素的和并打印。

package Array;

import java.util.Random;

public class Demo3 {
   public static void main(String[] args) {
       //生成随机数
       Random r =  new Random();

       //定义长度为6的整数数组
       int[] arr = new int[6];

       //通过循环进行数组元素的赋值
       for (int i = 0; i < arr.length; i++) {
           arr[i] = r.nextInt(99);//设置范围为0-99
      }

       //定义数组的和
       int sum = 0;

       //通过循环进行求和运算
       for (int i = 0; i < arr.length; i++) {
           System.out.print(arr[i]+" "); //为方便进行判断,打印输出每一个数组元素
           sum += arr[i];
      }

       //打印结果
       System.out.println();//换行,方便观察
       System.out.println(sum);

  }
}

运行结果

 

 

验证

 

 

 

题目4

现有一个整数数组,数组中的每个元素都是[0-9]之间的数字,从数组的最大索引位置开始到最小索引位置,依次表示整数的个位、十位、百位。。。依次类推。请编写程序计算,这个数组所表示的整数值。例如:

数组:{2, 1, 3, 5, 4}
表示的整数为:21354 // 注:是整数类型的两万一千三百五十四,不是字符串拼起来的。

package Array;

import java.util.Random;

public class Demo3 {
   public static void main(String[] args) {
       //生成随机数
       Random r =  new Random();

       //定义长度为6的整数数组
       int[] arr = new int[6];

       //通过循环进行数组元素的赋值
       for (int i = 0; i < arr.length; i++) {
           arr[i] = r.nextInt(99);//设置范围为0-99
      }

       //定义数组的和
       int sum = 0;

       //通过循环进行求和运算
       for (int i = 0; i < arr.length; i++) {
           System.out.print(arr[i]+" "); //为方便进行判断,打印输出每一个数组元素
           sum += arr[i];
      }

       //打印结果
       System.out.println();//换行,方便观察
       System.out.println(sum);

  }
}

运行结果

 

 

题目5

定义一个数组来存储10个学生的成绩,例如:{72, 89, 65, 87, 91, 82, 71, 93, 76, 68}。计算并输出学生的平均成绩。

package Array;

public class Demo5 {
   public static void main(String[] args) {
       //定义数组
       int[] arr = {72, 89, 65, 87, 91, 82, 71, 93, 76, 68};

       //定义总成绩
       int sum = 0;

       //通过循环进行遍历
       for (int i = 0; i < arr.length; i++) {
           sum += arr[i];
      }

       //定义平均数
       double average = (double) sum / arr.length;

       //打印输出
       System.out.println(average);
  }
}

运行结果

 

 

验证

 

 

题目6(很难)

有一个数组,其中有十个元素从小到大依次排列 {12,14,23,45,66,68,70,77,90,91}。再通过键盘录入一个整数数字。要求:把数字放入数组序列中,生成一个新的数组,并且数组的元素依旧是从小到大排列的。执行效果如下:

请输入一个整数数字:
50
生成的新数组是:12 14 23 45 50 66 68 70 77 90 91

package Array;

import java.util.Scanner;

public class Demo6 {
   public static void main(String[] args) {
       //定义原数组
       int[] arr = {12, 14, 23, 45, 66, 68, 70, 77, 90, 91};

       //定义新数组
       int[] arr1 = new int[11];

       //输入新数字
       Scanner sc = new Scanner(System.in);
       int num = sc.nextInt();

       //定义要插入的位置
       int a = 0;

       //循环遍历数组
       for (int i = 0; i < arr.length; i++) {
           if (arr[i] <= num) {
               arr1[i] = arr[i]; //如果元素小于要插入的数字,可以直接存放
               a = i + 1;
          } else {
               arr1[i + 1] = arr[i];//如果元素大于要插入的数字,则往后一个位置存放
          }
           //通过上述代码,刚好空出一个位置,即a
      }

       //插入新数字
       arr1[a] = num;

       //打印输出
       for (int i = 0; i < arr1.length; i++) {
           System.out.print(arr1[i] + " ");
      }


  }
}

运行结果

 

 

 

 

题目7(很难)

定义一个数组其中包含多个数字。用自己的方式最终实现,奇数放在数组的左边,偶数放在数组的右边。(可以创建其他数组,不必须在原数组中改变)

package Array;

public class Demo7 {
   public static void main(String[] args) {
       //定义原数组
       int[] arr = {12, 23, 34, 45, 67, 78, 11, 22};
       //定义空数组
       int[] brr = new int[arr.length];

       //定义变量代表奇数要存放的位置
       int left = 0;

       //定义变量代表偶数要存放的位置
       int right = arr.length - 1;

       //用循环对原数组进行遍历
       for (int i = 0; i < arr.length; i++) {
           if (arr[i] % 2 == 1) {
               //如果是奇数就往左边放
               brr[left] = arr[i];
               //存放之后让索引向右移动
               left++;
          } else {
               //如果是偶数就往右边放
               brr[right] = arr[i];
               //存放之后让索引向左移动
               right--;
          }
      }
       //6.打印brr数组
       for (int i = 0; i < brr.length; i++) {
           System.out.print(brr[i] + " ");
      }
  }
}

运行结果

 

 

标签:arr,Java,int,练习,System,length,数组,public
来源: https://www.cnblogs.com/XMMAX/p/16552815.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有