由于你没有指定这10个整数的生成范围,所以我这里假定是0~99之间的整数,这样用户输入时有10%的几率命中。
整体代码为:
public class Main {
public static void main(String[] args) {
//声明长度为10的随机数数组
int[] randoms = new int[10]
Random random = new Random()
for (int i = 0i <10i++) {
//获取0~99之间的一个随机整数,可通过调整nextInt的参数来修改随机数范围
int num = random.nextInt(100)
//如果新生成的数字已经存在于随机数数组中,则重新生成
if (checkDistinct(randoms, num)) {
i--
continue
}
randoms[i] = num
}
//增序排序,好看
Arrays.sort(randoms)
System.out.println("请输入一个整数:")
Scanner scanner = new Scanner(System.in)
//严谨一点这里其实可以对输入的in进行校验,检验其是不是整数,校验方法很多搜一下就有我这就不校验了
int in = scanner.nextInt()
System.out.println("生成的随机数数组为:")
System.out.println(Arrays.toString(randoms))
if (checkDistinct(randoms, in)) {
System.out.println("输入的数字[" + in + "]在其中")
} else {
System.out.println("输入的数字[" + in + "]不在其中")
}
}
//检查新生成的数字是否存在于随机数数组中,若存在,返回true
private static boolean checkDistinct(int[] randoms, int num) {
for (int i = 0i <randoms.lengthi++) {
if (randoms[i] == num) {
return true
}
}
return false
}
}
运行结果:
输入的数字存在时:
输入的数字不存在时:
public class Test {//随机生成5个1至100之间的整数。显示这5个数的和以及平均值,然后从大到小显示。
public static void main(String[] args) {
int[] arr = new int[5]
int pingjun = 0
for(int i = 0i <arr.lengthi++){
arr[i] = new java.util.Random().nextInt(100)+1
pingjun += arr[i]
}
java.util.Arrays.sort(arr)
System.out.println("这五个数是:" + java.util.Arrays.toString(arr))
System.out.println("平均的值是:" + (pingjun / 5))
}
}
int[] ii = new int[5]for (int i = 0 i < ii.length i++) {
ii[i] = new Random().nextInt(99) + 1
}
System.out.println("排序前:")
for (int i = 0 i < ii.length i++) {
System.out.print(ii[i] + " ")
}
Arrays.sort(ii)
int sum = 0
System.out.println()
System.out.println("排序后:")
for (int i = 0 i < ii.length i++) {
sum+=ii[i]
System.out.print(ii[ii.length-i-1] + " ")
//从大到小
}
System.out.println()
System.out.println("平均值: " + sum/ii.length)
}
结果: