Java 扑克牌开关编程

Java 扑克牌开关编程,java,string,Java,String,这是我试图运行的程序要求。实际上我更喜欢If和Else语句,但再一次,要求只使用switch语句 在项目文件夹中创建一个新的Java类。 类的名称应为:CardConverter 编写一个程序,从用户处读取2-3个字符串(这将是描述扑克牌的简写符号),并输出扑克牌的完整描述 首先,您将从用户处获得字符串。使用单个nextLine命令输入字符串。 输入的字符串将由字母或数字组成: (A、J、Q、K、2、3、4、5、6、7、8、9或10) 接着是另一封信: (D、H、S、C) 获得输入后,您的程序应

这是我试图运行的程序要求。实际上我更喜欢If和Else语句,但再一次,要求只使用switch语句

在项目文件夹中创建一个新的Java类。 类的名称应为:CardConverter

编写一个程序,从用户处读取2-3个字符串(这将是描述扑克牌的简写符号),并输出扑克牌的完整描述

首先,您将从用户处获得字符串。使用单个nextLine命令输入字符串。 输入的字符串将由字母或数字组成: (A、J、Q、K、2、3、4、5、6、7、8、9或10) 接着是另一封信: (D、H、S、C)

获得输入后,您的程序应以以下格式将卡的完整描述打印到屏幕上: 诉讼价值

数字卡不应拼写-只显示数字;然而,人脸卡确实需要详细说明

例如,以下是一些可能的输入值,以及程序的预期输出:

如果用户输入QS,您的程序应该打印:黑桃皇后 如果用户输入AH,您的程序应该打印:Ace of Hearts 如果用户输入7C,您的程序应打印:7个俱乐部 如果用户输入10D,您的程序应打印:10个菱形 如果用户输入KC,您的程序应打印:俱乐部之王 如果用户输入JS,你的程序应该打印:黑桃杰克

技术说明和要求:

您不允许在此程序中使用“IF”语句!您必须使用SWITCH语句来创建此程序。 创建一个名为result的变量 使用SWITCH语句为结果变量分配一个初始值—卡的值 使用第二个SWITCH语句与卡的suit的结果变量关联 您可以假设输入是正确的,因此不必担心添加任何类型的错误处理可能性

这是到目前为止我的代码。我运行程序只是测试用例1,但是没有输出,我是不是遗漏了什么

//The program will describe a playing card after the user inputs a 2-3 character string.

import java.util.*;
public class CardConverter {

    public static void main(String[] args) {
        Scanner kbd = new Scanner(System.in);

        //Variable decoration
        String userinput;

        //int ;



        System.out.print("Please input 2-3 characters by selecting from the following: A, C, D, E, H, J, K, Q, S, 2, 3, 4, 5, 6, 7, 8, 9 or 10: ");
        userinput = kbd.next().toUpperCase();

        switch (userinput){

            case "1": userinput.contains("AH");
            System.out.println("Ace of HEARTS");
        }
    }
}

以下是迄今为止代码的更新版本:

//用户输入2-3个字符串后,程序将描述扑克牌

导入java.util.*; 公共类卡片转换器{

public static void main(String[] args) {
    Scanner kbd = new Scanner(System.in);

    //Variable decoration
    String result;

    //int ;



    System.out.print("Please input 2-3 charactes by selecting from the following: A, C, D, E, H, J, K, Q, S, 2, 3, 4, 5, 6, 7, 8, 9 or 10: ");
    result = kbd.next().toUpperCase();

    switch (result){

        case "AH": 
            System.out.println("Ace of Hearts");
        break;

        case "AD":
            System.out.println("Ace of Diamonds");
            break;

        case "AC":
            System.out.println("Ace of Clubs");
            break;

        case "AS":
            System.out.println("Ace of Spades");
            break;

    }//Goes with switch









    kbd.close();
}

}你确实错过了一些东西

案例“1”:
声明如果开关变量(
userinput
)与案例(
“1”
)匹配,则将执行以下代码:

userinput.contains("AH");
System.out.println("Ace of HEARTS");
您似乎认为,
userinput.contains(“AH”)
是一个正在检查的条件。switch语句不是这样工作的。尝试:

case "AH":
  System.out.println("Ace of Hearts");

在尝试自己编写switch语句之前,您应该先研究switch语句是如何工作的。一个更好的起点应该是谷歌。通过简单搜索“java交换机教程”,我发现了以下内容:

好的。。。这很简单,你所要做的就是改变

    case "1":


哇!试着大声读出来。如果您愿意,请转换为“如果”:
如果用户输入等于1,那么如果用户输入包含“AH”
请找出问题所在?您可以通过
开关模拟任何
if
。G通过一些构造,比如
boolean result=(在这里写下你的表达式);开关(结果){case true:{do_something_on_true();break;}case false:{do_something_on_false();break;}}
Awesome…..我总是忽略一些简单的事情。希望通过更多的练习,对细节的关注不会成为问题。再次感谢。@onestepproward相信我,关注细节永远是个问题。不过别担心,每个人都是这样。不管怎样,我很乐意帮忙。请记得投票并接受。
    case "AH":