调试好了 直接用 public static void main(String[] args) { Random rand = new Random();//定义随机数产生器 List list_One = new ArrayList();//定义一等奖数字集合 List list = null; //用list时 /list = new ArrayList();//定义100个随机数 集合 for(int i = 0; i < 100;){//产生100个3位数 的随机不重复数字 if(check(randnextInt(899) + 100,list)){ i++; } }/ //用set时 Set set = new HashSet(); while(setsize() < 100){ setadd(randnextInt(899) + 100); } list = new ArrayList(set); for(int k = 0; k < 5;){//产生5个随机一等奖 if(check(randnextInt(100),list,list_One)) k++; } } for(int a = 0; a < list_Onesize();a++){ Systemoutprintln(list_Oneget(a)); } } / 验证该数字是否在集合中 @param i @param list @return / public static boolean check(int i,List list){ if(listsize() == 0){ listadd(i); }else{ for(int j = 0; j < listsize(); j++){ if(i == listget(j)){ return false; } } listadd(i); } return true; } / 抽取随机数作为中奖的下标(重载) @param i @param list @param list_One @return / public static boolean check(int i,List list,List list_One){ if(listsize() == 0){ list_Oneadd(listget(i)); }else{ for(int j = 0; j < listsize(); j++){ if(i == listget(j)){ return false; } } list_Oneadd(listget(i)); } return true; }
import javautilArrays;
import javautilScanner;
public class Poker {
private static final int NUM = 1;
private static int SUM = 52;
private static final String P = "A,2,3,4,5,6,7,8,9,10,J,Q,K";
private static String[][] POKER = {
PreplaceAll("([^,]+)", "黑桃$1")split(","),
PreplaceAll("([^,]+)", "红桃$1")split(","),
PreplaceAll("([^,]+)", "梅花$1")split(","),
PreplaceAll("([^,]+)", "方片$1")split(",")
};
public static void main(String[] args) {
Scanner scanner = new Scanner(System in );
int count = NUM;
String[] hand = new String[0];
Systemoutprintln("随机发 " + count + " 张牌");
SUM -= count;
for (int i = 0; i < count; i++) {
int row = (int)(Mathrandom() POKERlength);
int col = (int)(Mathrandom() POKER[row]length);
String[] css = new String[handlength + 1];
Systemarraycopy(hand, 0, css, 0, handlength);
css[csslength - 1] = POKER[row][col];
hand = css;
}
Systemoutprintln("然后看手里的牌:");
Systemoutprintln(ArraystoString(hand));
scannerclose();
}
}
就是从36个数中选出7个,这36个数是什么可以自己指定,但必须保证不重复,我写的一个代码
public
class
test
{
public
static
void
main(String[]
args)
{
int[]
a
=
new
int[36];
for(int
i
=
0;
i
<
36;
++i)
a[i]
=
i+1;
for(int
i
=
0;
i
<
5;
++i)
randomSelect(a,
7);
}
static
void
randomSelect(int[]
a,
int
n)
{
randomShuffle(a,
7);
for(int
i
=
0;
i
<
n;
++i)
Systemoutprint(a[i]
+
"
");
Systemoutprintln();
}
static
void
randomShuffle(int[]
a,
int
n)
{
for(int
i
=
0;
i
<
n;
++i)
{
int
r
=
(int)(Mathrandom()
alength);
int
tmp
=
a[i];
a[i]
=
a[r];
a[r]
=
tmp;
}
}
}
以上就是关于用java设计程序。问题描述:公司总人数为100,计划能随机抽出每一个获奖者,一等奖10%,二等奖全部的内容,包括:用java设计程序。问题描述:公司总人数为100,计划能随机抽出每一个获奖者,一等奖10%,二等奖、用java程序的if else语句模拟从一副52张牌中随机抽出一张牌,程序应该输出牌的花色和大小。、用JAVA便携一个程序,用来模拟随机生成一个36选7的彩票号码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)