写一彩票程序,要求能随机产生并按照升序输出1-30之间的7个数,且其中任意两个数字不能重复

这篇博客介绍了两种使用Java编程实现随机生成1-30之间不重复的7个数字的方法,确保升序输出。第一种方法通过遍历数组和随机交换元素,第二种方法利用HashSet存储不重复的数字。两种方法都能有效地生成满足条件的彩票号码。
摘要由CSDN通过智能技术生成

方法一:
package com.dh.hrmanager.entity;
import java.util.Arrays;
import java.util.Random;

public class random {
public static void main(String[] args)
{
int []numArray=new int[30];//创建一个长度为30的数组
for(int i=0;i<numArray.length;i++)
{numArray[i]=i+1;
}//实现遍历操作
Random random=new Random();//生成随机数
int randomNum=numArray.length-1;
int []array=new int[7];
for(int i=0;i<array.length;i++) {
int index=random.nextInt(randomNum–);
array[i]=numArray[index];
int temp=numArray[index];
numArray[index]=numArray[randomNum];
numArray[randomNum]=temp;

}
Arrays.sort(array);//排序
for(int i=0;i<array.length;i++) {
	System.out.println(array[i]+" ");
}
}
}

来源:
https://zhidao.baidu.com/question/809922390535914052.html

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
1. 生成0-9之间的100个随机整数并统计每一个数产生的次数: ```java import java.util.Random; public class Main { public static void main(String[] args) { int[] nums = new int[10]; Random random = new Random(); for (int i = 0; i < 100; i++) { int num = random.nextInt(10); nums[num]++; } for (int i = 0; i < 10; i++) { System.out.println(i + "出现了" + nums[i] + "次"); } } } ``` 这段代码创建了一个长度为10的一维数组,用于统计每一个数产生次数。然后通过循环生成100个0-9之间随机整数,并将每个数对应的数组元素加1。最后通过循环遍历数组,输出个数产生次数。 2. 借助选择排序算法对某班的Java成绩进行升序排序: ```java import java.util.Arrays; public class Main { public static void main(String[] args) { int[] scores = {89, 78, 94, 82, 67, 76, 55, 88}; int n = scores.length; for (int i = 0; i < n - 1; i++) { int minIndex = i; for (int j = i + 1; j < n; j++) { if (scores[j] < scores[minIndex]) { minIndex = j; } } int temp = scores[i]; scores[i] = scores[minIndex]; scores[minIndex] = temp; } System.out.println(Arrays.toString(scores)); } } ``` 这段代码使用选择排序算法,通过两重循环依次找到未排序部分中的最小值,并与未排序部分的第一个元素交换位置。最终得到一个升序排列的数组。 3. 求数组平均值并获得平均值所在位置: ```java public class Main { public static void main(String[] args) { int[] arr = {12, 23, 34, 45, 56}; int n = arr.length; int sum = 0; for (int i = 0; i < n; i++) { sum += arr[i]; } double average = (double) sum / n; System.out.println("平均值为:" + average); for (int i = 0; i < n; i++) { if (arr[i] == average) { System.out.println("平均值在数组中的位置为:" + i); break; } } } } ``` 这段代码先通过循环求出数组元素的和,并计算出平均值。然后再通过循环遍历数组,找到平均值所在位置并输出
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值