编写程序,模拟从一副52张耳朵牌中选择一张牌.程序应该显示牌的大小(Ace.2.3.4.5.6.7.8.9.10.Jack.Queen.King)以及牌的花色(Clubs(黑桃花)。Diamond(红方块)。Hearth(红心)。Spades(黑桃))。下面是这个程序的运行结果示例:
The card you picked is Jack of Hearts
public class Exercise3-24{
public static void main(String[] args) {
final int NUMBER_OF_CARDS = 52;
// Pick a card
int number = (int)(Math.random() * NUMBER_OF_CARDS);
System.out.print("The card you picked is ");
if (number % 13 == 0)
System.out.print("Ace of ");
else if (number % 13 == 10)
System.out.print("Jack of ");
else if (number % 13 == 11)
System.out.print("Queen of ");
else if (number % 13 == 12)
System.out.print("King of ");
else
System.out.print((number % 13) + " of ");
if (number / 13 == 0)
System.out.println("Clubs");
else if (number / 13 == 1)
System.out.println("Diamonds");
else if (number / 13 == 2)
System.out.println("Hearts");
else if (number / 13 == 3)
System.out.println("Spades");
}
}
取到2,3,4,5,6,7,8,9,10不需要重新定义吗?Jack=10说明顺序已经打乱,Ace=0, 2,3,4,5,6,7,8,9,10对应的数字应该是1,2,3,4,5,6,7,8,9,我觉得有必要重新定义过,但是上述的代码中没有对取到2,3,4,5,6,7,8,9,10的情况给出代码,再者number/13==0=》number ==0,number==0是Ace啊,一张牌就有4钟花色啊,这个后面的代码我就完全不懂了。number/13如何去表示花色