下面代码模拟了一套扑克牌(初始排序A~K,共13张)的操作过程。 操作过程是:
手里拿着这套扑克牌,从前面拿一张放在后面,再从前面拿一张放桌子上,再从前面拿一张放在后面,.... 如此循环操作,直到剩下最后一张牌也放在桌子上。 下面代码的目的就是为了求出最后桌上的牌的顺序。 初始的排列如果是A,2,3...K,则最后桌上的顺序为: [2, 4, 6, 8, 10, Q, A, 5, 9, K, 7, 3, J]
手里拿着这套扑克牌,从前面拿一张放在后面,再从前面拿一张放桌子上,再从前面拿一张放在后面,.... 如此循环操作,直到剩下最后一张牌也放在桌子上。 下面代码的目的就是为了求出最后桌上的牌的顺序。 初始的排列如果是A,2,3...K,则最后桌上的顺序为: [2, 4, 6, 8, 10, Q, A, 5, 9, K, 7, 3, J]
import java.util.ArrayList;
public class PokerProblem {
static String[] poker={"A","2","3","4","5","6","7","8","9","10","J","Q","K"};
public static void getSort(ArrayList<String>pokers)
{
int count=1;
while(pokers.size()!=0)
{
if(count%2==0)
{
if(pokers.size()>1)
{
System.out.print(pokers.get(0)+",");
pokers.remove(0);
}
else
{
System.out.print(pokers.get(0));
pokers.remove(0);
}
}
else
{
pokers.add(pokers.remove(0));
}
count++;
}
}
public static void main(String[] args) {
ArrayList<String>pokers=new ArrayList<String>();
for (String string : poker) {
pokers.add(string);
}
getSort(pokers);
}
}