导航:首页 > 编程语言 > java三位随机数

java三位随机数

发布时间:2025-09-22 02:30:01

1. 用java如何判断扑克牌同花顺

扑克牌有两个属性,花色和牌面大小,可以分别比较花色和牌面大小是否递增或递减来确定是不是同花顺.但是由于扑克牌会有JQKA,所以牌面大小最好以数组或者字符串的方式实现,通过比较下标来比较大小,以下是大概的代码

publicclassPuKe{
privateStringcolor;
privateStringnum;
publicStringgetColor(){
returncolor;
}
publicvoidsetColor(Stringcolor){
this.color=color;
}
publicStringgetNum(){
returnnum;
}
publicvoidsetNum(Stringnum){
this.num=num;
}

publicPuKe(Stringcolor,Stringnum){
super();
this.color=color;
this.num=num;
}
publicstaticvoidmain(String[]args){
List<PuKe>card=newArrayList<PuKe>();
card.add(newPuKe("black","2"));
card.add(newPuKe("black","3"));
card.add(newPuKe("black","4"));
card.add(newPuKe("black","5"));
card.add(newPuKe("black","6"));
//这里因为10是两位数且牌面里面用不到1,所以直接用1代替10
Stringcheck="234567891JQKA";
booleanflage=true;
//自定义比较器,用num在check里的下标大小作为比较依据排序
Collections.sort(card,newComparator<Object>(){
@Override
publicintcompare(Objecto1,Objecto2){
PuKeer1=(PuKe)o1;
PuKeer2=(PuKe)o2;
Integerorg1=(int)(er1.getNum()==null?0.0:check.indexOf(er1.getNum()));
Integerorg2=(int)(er1.getNum()==null?0.0:check.indexOf(er2.getNum()));
returnorg1.compareTo(org2);
}
});
for(inti=0;i<card.size()-1;i++){
//遍历所有的牌,如果颜色不一样直接跳出循环,不是同花顺
if(!card.get(i).getColor().equals(card.get(i+1).getColor())){
flage=false;
break;
}
//如果上一张减去下一张的差值不是1,说明牌面不是顺子,也不是同花顺,跳出循环
if((int)check.indexOf(card.get(i+1).getNum())-(int)check.indexOf(card.get(i).getNum())!=1){
flage=false;
break;
}
}
if(flage){
System.out.println("牌面是同花顺");
}else{
System.out.println("牌面不是同花顺");
}
}
}

不过这种方法唯一不好的地方是check中不能直接用10,将来展示的时候需要判定,展示的是1时直接改成10.

其实实现方法很多,我这么写是因为最近在复习,这么写用到的知识点相对会多一点.

2. JAVA 获取一个四位随机数(并且四位数不重复),并说明原理和算法

import java.util.*;
public class Get4Number {
public static void main(String[] args) {
System.out.println(getNumber());
}
/** 得到一个0-9的随机数 */
private static int getRandomNumber() {
return (int) ((Math.random() * 100) % 10);
}
/** 得到一个四位无重复数字的数 */
private static int getNumber() {
Set<Integer> set = new HashSet<Integer>();
while (true) {
int a = getRandomNumber();
set.add(new Integer(a));//Set里面的元素是不重复的,如果重复是存不进去的。
if(set.size()>3)
break;
}
int index = (int) ((Math.random() * 100) % 4);
if(index==0){index+=1;}
Integer[] arr = new Integer[set.size()];
set.toArray(arr);
String s = "";
if(arr[0].intValue()==0){//如果第一位是0,则随机和后面三位交换
Integer temp = arr[0];
arr[0] = arr[index];
arr[index] = temp;
}
for(int i=0;i<arr.length;i++){
s += arr[i].intValue();
}
return Integer.parseInt(s);
}
}

3. java里如何正确计算检验和

importjava.security.MessageDigest;

publicclassMD5HashingExample
{
publicstaticvoidmain(String[]args)throwsException
{
Stringpassword="123456";

MessageDigestmd=MessageDigest.getInstance("MD5");
md.update(password.getBytes("UTF-8"));//orGBK

bytebyteData[]=md.digest();

//
StringBuffersb=newStringBuffer();
for(inti=0;i<byteData.length;i++){
sb.append(Integer.toString((byteData[i]&0xff)+0x100,16).substring(1));
}

System.out.println("Digest(inhexformat)::"+sb.toString());

//
StringBufferhexString=newStringBuffer();
for(inti=0;i<byteData.length;i++){
Stringhex=Integer.toHexString(0xff&byteData[i]);
if(hex.length()==1)hexString.append('0');
hexString.append(hex);
}
System.out.println("Digest(inhexformat)::"+hexString.toString());
}
}

阅读全文

与java三位随机数相关的资料

热点内容
符咒法术pdf 浏览:25
小翼管家监控视频在哪个文件夹 浏览:551
京东pdf 浏览:581
服务器改名字有什么影响 浏览:227
荣耀20pro怎么添加加密门禁 浏览:703
单片机实现温度计显示代码 浏览:149
加密大师到期后无法还原 浏览:228
央视节目预告app哪个好 浏览:607
头发加密与植发 浏览:470
计算机程序的构造与解释pdf 浏览:548
android串口apk 浏览:561
金山词霸pdf屏幕取词 浏览:908
java三位随机数 浏览:140
航天信息安全接入服务器地址 浏览:557
解压java下载 浏览:678
java线程间通讯 浏览:733
php本地文件路径 浏览:281
java求质数最优算法 浏览:275
修复命令详解 浏览:949
安卓手机ins连不上网怎么办 浏览:848