编程大赛即将拉开序幕,由于人选有限,将选出10人参加全国大赛,为了体现公平的原则,采用如下的方法实现抽签:随机生成0到1000的整数,其中能被3整除的就是幸运儿之一并将其存储起来,直到第十个幸运儿产生
程序员文章站
2022-04-07 18:19:49
编程大赛即将拉开序幕,由于人选有限,将选出10人参加全国大赛,为了体现公平的原则,采用如下的方法实现抽签:随机生成0到1000的整数,其中能被3整除的就是幸运儿之一并将其存储起来,直到第十个幸运儿产生为止,最后将这10个人的幸运号按从小到大排序,并按照逆序打印出来。import java.util.Random;public class Num{public static void main(String[]args){Random random = new Random();int n...
编程大赛即将拉开序幕,由于人选有限,将选出10人参加全国大赛,为了体现公平的原则,采用如下的方法实现抽签:随机生成0到1000的整数,其中能被3整除的就是幸运儿之一并将其存储起来,直到第十个幸运儿产生为止,最后将这10个人的幸运号按从小到大排序,并按照逆序打印出来。
import java.util.Random;
public class Num{
public static void main(String[]args){
Random random = new Random();
int num;
int [] arr = new int [10];
for (int i = 0;i<arr.length;i++){
num = random.nextInt(1000); // 生成随机0~1000的整数,但没说明包不包含1000在内
if(num%3==0){
arr[i]= num; // 能被3整除的就是幸运儿之一,然后添加到数组中
}else{
i--; // 如果生成的随机数不能被3整除,则需要将此次生成的随机数舍弃掉,并且将循环次数需减一,不然凑不够是个幸运儿
continue;
}
}
int j,change;
boolean flag = false; // 定义一个布尔变量,看有没有值交换
System.out.println("10个幸运号按按照逆序打印出来为:");
for(int i = 0;i<arr.length;i++){
for(j=0;j<arr.length-1-i;j++){
if(arr[j]>arr[j+1]){ // 从小到大排序,并按照逆序打印出来,逆序也就是从大到小输出
flag = true;
change = arr[j];
arr[j] = arr[j+1];
arr[j+1] = change;
}
}
if(!flag){ // 没有交则不再循环排序
break;
}
System.out.println(arr[j] + " ");
}
}
}
本文地址:https://blog.csdn.net/rq12345688/article/details/110401643