
正文
java纸牌互换代码 java互换手牌解析
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
小明左右手分别那两张纸牌。黑桃10和红心8,现在交换手中的牌。程序模拟,两个整数分别保存在两个变量中,
java实现:
int a=8,b=10; //变量a、b分别保存红心8、黑桃10
int temp=0;//临时变量temp
//互换
temp=a;
a=b;
b=temp;
相关问答
Q1: java怎样从54张扑克牌中随机产生五张 不重复的
例如:有数组a = [1,2,3,4,5,6,7,8,9,10],使用首先产生一个0~10(不包含10)java纸牌互换代码的随机数,用来做数组下标。
Random r = new Random();
int rand = r.nextInt(10);//0~10之间的随机数,但不包含10。
假如rand=3。java纸牌互换代码我们把a[3]放到之前创建好的数组里,你要取5张牌,这个数组就5个长。
然后把a[3]与a[9]的位置交换,交换之后的数组为a=[1,2,3,10,5,6,7,8,9,4]
再次获取随机数,但这里获取的是0~9之间的随机数。
int rand = r.nextInt(9);
rand的值不可能是9,那么下标为9的元素就不可能出现,也就不会重复。
假如这次rand=6,再把a[6]放到之前创建好的数组里。
再把a[6]与a[8]交换,交换之后的数组为a=[1,2,3,10,5,6,9,8,7,4]
再获取随机数时int rand = r.nextInt(8),那么rand就不可能是8或9。以此类推。
===========
import java.util.Arrays;
import java.util.Random;
public class Test {
public static void main(String[] args) {
int[] puKe = new int[54];
for(int i = 0; i puKe.length; i++) {
puKe[i] = i + 1;
}
int[] pai = faPai(puKe, 5);
Arrays.sort(pai);
System.out.println(Arrays.toString(pai));
}
public static int[] faPai(int[] puKe, int num) {
int[] pai = new int[num];//用来装载取出的牌,5个长。
int m = 0;//一共取5张,m表示当前取到第几张
int n = puKe.length;//随机数的范围,默认是0~n之间取随机数
Random r = new Random();
for(int i = 0; i num; i++, n--) {
int rand = r.nextInt(n);//rand为0~n之间的随机数
pai[m++] = puKe[rand];//用随机数做下标,把牌放到pai数组中,然后m++
// rand位置上的牌与n-1位置上的牌交换,因为n再自减,所以n-1也在自减。
int temp = puKe[n - 1];
puKe[n - 1] = puKe[rand];
puKe[rand] = temp;
}
return pai;
}
}
=============
如果你有扑克牌图片,那么就可以把获取到的int[]中的元素做为图片数组的下标了。
Q2: 用JAVA写个代码,实现52张牌随机分给四个人
java内的Collections类自带了一个shuffle洗牌算法。
static void shuffle(List? list)
使用默认随机源对指定列表进行置换。
static void shuffle(List? list, Random rnd)
使用指定的随机源对指定列表进行置换。
现在你可以把52张牌放进一个List里,调用他的shuffle算法打乱顺序。
Q3: 求个Memory纸牌游戏的java代码
public class Test {
public static void main(String args[]){
int puke[][] = new int[52][2];
for(int i = 0 ; i 52; i++){
puke[i][0] = i+1;//牌面
puke[i][1] = 0;//0表示正面,1表示背面
}
for(int i = 2; i = 52 ;i++){
for(int j = 0 ; j 52; j++){
if(puke[j][0]%i==0){
puke[j][1]=Math.abs(puke[j][1]-1);//1为0,0为1;
}
}
}
for(int i = 0 ; i 52; i++){
if(puke[i][1]==0)//为正面打印
System.out.println(puke[i][0]);
}
}
}
结果为:1,4,9,16,25,36,49
Q4: java题目 小明左右手分别拿两张纸牌 黑桃10和红心8, 现在交换手中的牌 用程序模拟这一过程
交换牌的话只需:1.设一个中间变量赋值为左手中的纸牌10 2.把右手中的纸牌8赋值给左手中的纸牌10 3.把中间变量中的10赋值给右手中的纸牌8 就可以了
int j=10;左手中的纸牌
int k=8;右手中的纸牌
开始交换:
int i=j;
j=k;
k=i;
Q5: java语言编程扑克牌
一java纸牌互换代码:import java.util.Scanner;
public class Play {
/**
* 玩牌
*/
public static void main(String[] args) {
Poker poker = new Poker();
boolean over = false;
Scanner cin=new Scanner(System.in);
while(!over){
System.out.println("打牌输入1java纸牌互换代码,展示剩余牌输入其java纸牌互换代码他字符:");
String c=cin.nextLine();
if("1".equals(c)){
int index = (int) (Math.random()*poker.getSize());
poker.remove(index);
}else{
poker.ShowPages();
}
}
/*for(int i = 0;i54;i++){
int index = (int) (Math.random()*poker.getSize());
poker.remove(index);
poker.ShowPages();
}
*/
}
}二://牌
public class Page { private String huase = "";
private String haoma = "";
public Page(String huase,String haoma){
this.huase = huase;
this.haoma = haoma;
}
public String show(){
return this.huase+this.haoma;
}
}三:import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
/**
* 一副扑克
*/
public class Poker {
private List pages = new ArrayList();
public Poker(){
String huase[] = new String[]{"黑桃","红桃","草花","方块"};
String haoma[] = new String[]{"A","2","3","4","5","6","7","8","9","10"
,"J","Q","K"};
for(int i = 0;ihaoma.length;i++){
for(int j = 0;jhuase.length;j++){
pages.add(new Page(huase[j],haoma[i]));
}
}
pages.add(new Page("","大王"));
pages.add(new Page("","小王"));
}
public void ShowPages(){
System.out.println("展示剩余牌:");
for(Iterator i = pages.iterator();i.hasNext();){
System.out.println(((Page)i.next()).show());
}
}
//打牌
public void remove(int index){
pages.remove(index);
}
//剩余牌数
public int getSize(){
return pages.size();
}
}
java纸牌互换代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java互换手牌解析、java纸牌互换代码的信息别忘了在本站进行查找喔。







