導航:首頁 > 編程語言 > 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三位隨機數相關的資料

熱點內容
如何下載櫻花漫畫app 瀏覽:391
符咒法術pdf 瀏覽:26
小翼管家監控視頻在哪個文件夾 瀏覽:552
京東pdf 瀏覽:582
伺服器改名字有什麼影響 瀏覽:228
榮耀20pro怎麼添加加密門禁 瀏覽:704
單片機實現溫度計顯示代碼 瀏覽:150
加密大師到期後無法還原 瀏覽:230
央視節目預告app哪個好 瀏覽:608
頭發加密與植發 瀏覽:473
計算機程序的構造與解釋pdf 瀏覽:549
android串口apk 瀏覽:562
金山詞霸pdf屏幕取詞 瀏覽:910
java三位隨機數 瀏覽:142
航天信息安全接入伺服器地址 瀏覽:559
解壓java下載 瀏覽:679
java線程間通訊 瀏覽:734
php本地文件路徑 瀏覽:282
java求質數最優演算法 瀏覽:276
修復命令詳解 瀏覽:949