首页 > 解决方案 > 使用 switch 语句将随机数转换为字符串

问题描述

我正在尝试编写一个生成随机数 1-4 的程序,然后使用 switch 语句将每个数字转换为相应的卡片套装(红桃 1、钻石 2、梅花 3、黑桃 4)。

Random rand = new Random();
        
int suit;
suit = rand.nextInt(4)+1;
        
switch(suit) {
    case 1:
        String hearts = "hearts";
        break;
    case 2:
        String diamonds = "diamonds";
        break;
    case 3:
        String clubs = "clubs";
        break;
    case 4:
        String spades = "spades";
        break;
}
        

当所有这些都完成并运行时,我仍然只能得到自己生成的数字。如果生成了数字 2,而不是获取字符串“diamonds”。我的目标是连接一个随机西装,最后一个随机数与该西装搭配,所以据我了解,使用 System.out.println(); 每个开关盒的内部都不是我想要的。

分配指令是:“设计并实现一个名为 Cards 的应用程序,该应用程序随机选择一张纸牌。首先使用随机数生成器(Random 类)创建一个范围为 1 到 4 的数字。然后将数字转换为花色(心, diamond, club, or spade) 使用 switch 语句。接下来,使用随机生成器在 1 到 13 范围内创建一个随机数。使用另一个 switch 语句将数字转换为 ace、2、3 等。显示花色以及所选卡片的价值。”

标签: javarandomswitch-statement

解决方案


您正在使用 switch 语句创建心形/菱形/梅花/黑桃。但请仔细阅读您的说明。上面写着“把号码换成西装”。让我们制作一套西装,好吗?

Random rand = new Random();
        
int suitNumber = rand.nextInt(4)+1;
String suit = "";

switch(suitNumber) {
    case 1:
        suit = "hearts";
        break;
    case 2:
        suit = "diamonds";
        break;
    case 3:
        suit = "clubs";
        break;
    case 4:
        suit = "spades";
        break;
}

推荐阅读