数组的编程练习题
1.创建一个长度为6的int型数组,要求取值为1-30,同时元素值各不相同
// 面试题目:创建一个长度为6的int型数组,要求取值为1-30,同时元素值各不相同 public static void main(String[] args) { // 声明数组 int[] a = new int[6]; for(int i = 0;i < a.length;i++) { // 给数组赋值,Math.random()的范围是0-1之间的浮点数[0,1) a[i] = (int) (Math.random() * 30) + 1; // 检验是否和前面的数重复了,如果重复了,则i--,重新赋予随机数 for (int j = 0;j <i;j++) { if(a[i] == a[j]) { i--; break; } } } // 输出数组 for (int i = 0;i < a.length;i++) { System.out.println(a[i]); } }
2.arrays工具类的使用,实例代码:
package start; import java.util.Arrays; import java.util.Scanner; public class YuFa { public static void main(String[] args) { /*题目要求如下 1、从键盘输入本组学员的成绩,放到数组中 2、用for循环显示所有学员的成绩 3、排序:从低到高 4、查找是否有正好60分的,如果有返回位置 5、复制成绩最低三名构成新数组 6、用工具类打印成绩最低三名成绩 */ // 变量声明 int[] score = new int[5]; Scanner s = new Scanner(System.in); // 1、从键盘输入本组学员的成绩,放到数组中 for(int i = 0;i < score.length;i++) { System.out.println("请输入第 " + (i + 1) + "学生的成绩 :"); score[i] = s.nextInt(); } // 2、用for循环显示所有学员的成绩 System.out.println("所有学生的成绩如下:"); for(int i = 0;i < score.length;i++) { System.out.println(score[i]); } // 3、排序:从低到高 Arrays.sort(score); // 4、查找是否有正好60分的,如果有返回位置 int b = Arrays.binarySearch(score, 60); if(b > -1) { System.out.println("60分的位置为" + b); } else { System.out.println("不存在60分的同学" ); } // 5、复制成绩最低三名构成新数组 int[] c = Arrays.copyOfRange(score, 0, 3); // 6、用工具类打印成绩最低三名成绩 System.out.println("最低三名成绩如下:"); System.out.println(Arrays.toString(c)); } }
运行截图: