【问题标题】:Convert a random number to a string using switch statements使用 switch 语句将随机数转换为字符串
【发布时间】:2021-02-15 05:04:32
【问题描述】:

我正在尝试编写一个生成随机数 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 的数字。然后将该数字转换为花色(红心、菱形、梅花或黑桃)使用 switch 语句。接下来,使用随机生成器创建一个 1 到 13 范围内的随机数。使用另一个 switch 语句将数字转换为 ace、2、3 等。显示所选卡片的花色和价值。”

【问题讨论】:

  • 在切换之前声明String hearts;,然后在您的切换案例中分配给这个变量。在 switch 语句之后,您将能够在 println 调用中一起使用 heartssuit。如果你声明它完全一样,你可能需要添加一个default 来编译你的代码。

标签: java random switch-statement


【解决方案1】:

您正在使用 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;
}

【讨论】:

    【解决方案2】:

    首先,我发现变量存在逻辑错误。我认为您想要一个变量,即卡片套装的名称,它可以采用 4 个不同的值。

    另外,为了有 A、J、Q、K 以及 2、3 等,你的卡号变量也应该是字符串。你没有提到任何操作,所以我认为这没问题。

    我刚开始使用 Java,所以我经常遇到 Random rand = new Random() 和或 Scanner sc = new Scanner(System.in) 多次使用同名错误。因此,我会为数字和花色创建使用不同名称的 Random。

    import java.util.Random;
    
    public class testRandom {
    
        public static void main(String[] args) {
    
            Random randSuit = new Random();
            Random randNumber = new Random();
    
            String suitName = "";
            String cardName = "";
    
            int suit;
            int cardNumber;
    
            suit = randSuit.nextInt(4)+1;
            cardNumber = randNumber.nextInt(13)+1;
    
            switch(suit) {
                case 1:
                    suitName = "Hearts";
                    break;
                case 2:
                    suitName = "Diamonds";
                    break;
                case 3:
                    suitName = "Clubs";
                    break;
                case 4:
                    suitName = "Spades";
                    break;
                }
    
            switch(cardNumber) {
                case 1:
                    cardName = "Ace";
                    break;
                case 2:
                    cardName = "2";
                    break;
                case 3:
                    cardName = "3";
                    break;
                case 4:
                    cardName = "4";
                    break;
                case 5:
                    cardName = "5";
                    break;
                case 6:
                    cardName = "6";
                    break;
                case 7:
                    cardName = "7";
                    break;
                case 8:
                    cardName = "8";
                    break;
                case 9:
                    cardName = "9";
                    break;
                case 10:
                    cardName = "10";
                    break;
                case 11:
                    cardName = "Jack";
                    break;
                case 12:
                    cardName = "Queen";
                    break;
                case 13:
                    cardName = "King";
                    break;
            }
    
            System.out.println("I got the " + cardName + " of " + suitName);
    
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-22
      • 2023-04-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多