1-18共18个数字,随机产生数字和奖品的对应关系,分别是1个一等奖、2个二等奖,3个三等奖,14个纪念奖,
随机抽取一个数字,每次不重复,输出号码及所中奖类型。
格式如下:
1、程序执行
已经初始化完成!
请按任意键抽奖...(按任意键)
2、按任意键后
您抽中的号码是12 ,恭喜您中了一等奖
还有2个二等奖,3个三等奖,14个纪念奖
请按任意键抽奖...
package demo;
import java.util.*;
/**demo
*
* Created by asus on 2017/2/10.
*/
public class RandomNumber {
int count1 = 0;
int count2 = 0;
int count3 = 0;
int count4 = 0;
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String val = null; // 记录输入的字符串
do{
System.out.print("请输入抽奖等级:");
val = input.next(); // 等待输入值
//System.out.println("您输入的是:" + val);
System.out.print("一等奖:");
randomCommon(1,18,1);
System.out.print("请输入抽奖等级:");
val = input.next(); // 等待输入值
//System.out.println("您输入的是:" + val);
System.out.print("二等奖:");
randomCommon1(1,18,2);
System.out.print("请输入抽奖等级:");
val = input.next(); // 等待输入值
// System.out.println("您输入的是:" + val);
System.out.print("三等奖:");
randomCommon2(1, 18,3);
System.out.print("请输入抽奖等级:");
val = input.next(); // 等待输入值
//System.out.println("您输入的是:" + val);
System.out.print("纪念奖:");
randomCommon3(1, 18, 14);
}while(!val.equals("#")); // 如果输入的值不是#就继续输入
System.out.println("你输入了\"#\",程序已经退出!");
input.close(); // 关闭资源
}
public static int[] randomCommon(int min, int max, int n){
if (n > (max - min + 1) || max < min) {
return null;
}
int[] result = new int[n];
int count = 0;
while(count < n) {
int num = (int) (Math.random() * (max - min)) + min;
boolean flag = true;
for (int j = 0; j < n; j++) {
if(num == result[j]){
flag = false;
break;
}
}
if(flag){
result[count] = num;
System.out.print(result[count] + " ");
count++;
}
}
System.out.println();
return result;
}
public static int[] randomCommon1(int min, int max, int n){
if (n > (max - min + 1) || max < min) {
return null;
}
int[] result = new int[n];
int count = 0;
while(count < n) {
int num = (int) (Math.random() * (max - min)) + min;
boolean flag = true;
for (int j = 0; j < n; j++) {
if(num == result[j]){
flag = false;
break;
}
}
if(flag){
result[count] = num;
System.out.print(result[count] + " ");
count++;
}
}
System.out.println();
return result;
}
public static int[] randomCommon2(int min, int max, int n){
if (n > (max - min + 1) || max < min) {
return null;
}
int[] result = new int[n];
int count = 0;
while(count < n) {
int num = (int) (Math.random() * (max - min)) + min;
boolean flag = true;
for (int j = 0; j < n; j++) {
if(num == result[j]){
flag = false;
break;
}
}
if(flag){
result[count] = num;
System.out.print(result[count] + " ");
count++;
}
}
System.out.println();
return result;
}
public static int[] randomCommon3(int min, int max, int n){
if (n > (max - min + 1) || max < min) {
return null;
}
int[] result = new int[n];
int count = 0;
while(count < n) {
int num = (int) (Math.random() * (max - min)) + min;
boolean flag = true;
for (int j = 0; j < n; j++) {
if(num == result[j]){
flag = false;
break;
}
}
if(flag){
result[count] = num;
System.out.print(result[count] +" ");
count++;
}
}
System.out.println();
return result;
}
}