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));
}
}
运行截图:

京公网安备 11010502036488号