Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中使用switch-case方法确定新结果后,如何将两个字符串变量合并成一个结果字符串?_Java - Fatal编程技术网

在java中使用switch-case方法确定新结果后,如何将两个字符串变量合并成一个结果字符串?

在java中使用switch-case方法确定新结果后,如何将两个字符串变量合并成一个结果字符串?,java,Java,这是另一个人问题的链接,也是我的任务 如何让结果字符串以这种格式显示valueofCard,然后显示SuiteOfCard“value of suit” 此外,如何在开关盒内缩短2-10值范围? 我知道我有“of”和其他几行没有意义,我只是觉得我错过了一些重要的东西。 谢谢你的帮助,有很多事情要做 System.out.print("Please enter a letter/integer of a playing card (A, J, Q, K, or 2 - 10),\nfollowe

这是另一个人问题的链接,也是我的任务

如何让结果字符串以这种格式显示valueofCard,然后显示SuiteOfCard“value of suit” 此外,如何在开关盒内缩短2-10值范围? 我知道我有“of”和其他几行没有意义,我只是觉得我错过了一些重要的东西。 谢谢你的帮助,有很多事情要做

System.out.print("Please enter a letter/integer of a playing card (A, J, Q, K, or 2 - 10),\nfollowed by card type (D, H, S, C):");
    Scanner kbd = new Scanner(System.in);
    String userInput = kbd.nextLine();
    String valueofCard = userInput.substring(0, userInput.length() / 2);  // gives first half of string
    String suitofCard = userInput.substring(userInput.length() / 2); //give last half of string with + 1 if odd
    StringBuilder result = new StringBuilder();

    switch (valueofCard) {
    case "A":
        result.append("Ace of ");
        break;
    case "J":
        result.append("Jack of ");
        break;  
    case "Q":
        result.append("Queen of ");
        break;  
    case "K":
        result.append("King of ");
        break;
    case "2":
        result.append("2 of ");
    case "3":
        result.append("3 of ");
    case "4":
        result.append("4 of ");
    case "5":
        result.append("5 of ");
    case "6":
        result.append("6 of ");
    case "7":
        result.append("7 of ");
    case "8":
        result.append("8 of ");

    case "9":
        result.append("9 of ");
    case "10":          
        result.append("10 of ");
    break;  
    }

    switch (suitofCard) {
    case "D":
        result.append("Diamonds");
        break;  
    case "H":
        result.append("Hearts");
        break;      
    case "S":
        result.append("Spades");
        break;      
    case "C":
        result.append("Clubs");
        break;
        }

    System.out.println(result.toString());

    kbd.close();
}

}

选项1-您可以使用Stringbuilder来执行此操作

StringBuilder cardAndSuit = new StringBuilder();

    switch (valueofCard) {
        case "A":
            cardAndSuit.append("Ace of");
    .....


     switch (suitofCard) {
        case "D":
             cardAndSuit.append("Diamonds");
            break;   
    ...

    // Print the final string
    System.out.println(cardAndSuit.toString()); // Ace of Diamonds
选项2-您也可以只创建一个常规字符串并附加到它

String cardAndSuit = '';
cardAndSuit += "Ace of";
cardAndSuit += " Diamonds";
System.out.println(cardAndSuit); // Ace of Diamonds

2可能更简单、更简洁。选项2实际上将由编译器在幕后转换为选项1

选项1-您可以使用Stringbuilder来执行此操作

StringBuilder cardAndSuit = new StringBuilder();

    switch (valueofCard) {
        case "A":
            cardAndSuit.append("Ace of");
    .....


     switch (suitofCard) {
        case "D":
             cardAndSuit.append("Diamonds");
            break;   
    ...

    // Print the final string
    System.out.println(cardAndSuit.toString()); // Ace of Diamonds
选项2-您也可以只创建一个常规字符串并附加到它

String cardAndSuit = '';
cardAndSuit += "Ace of";
cardAndSuit += " Diamonds";
System.out.println(cardAndSuit); // Ace of Diamonds

2可能更简单、更简洁。选项2实际上将由编译器在幕后转换为选项1

我已经更新了我的代码,以便您在我的原始问题中查看。你知道为什么最后一行是System.out.println(result.toString());是无法访问的代码吗?你知道有什么干净的方法可以把我的案例“2”-案例“10”总结成一个案例陈述,读回其中一个值(如果找到的话),我已经更新了我的代码,让你在我的原始问题中回顾。你知道为什么最后一行是System.out.println(result.toString());是无法访问的代码吗?你知道有什么干净的方法可以把我的案例“2”-案例“10”总结成一个案例语句,它可以读回你的系统中的一个值(如果找到)。out.println语句在“switch(suiteofcard)”语句的括号内。谢谢!!!另外,你能帮助我理解为什么当我输入“AH”时,代码会打印“AHAce of Hearts”或者为什么我的卡号值(卡号“2”-“10”)没有返回任何内容吗?看看“result”是如何初始化的,并在“switch(valueofCard)”中比较所附加的内容与a、J、Q的比较,K:)谢谢你!!!我唯一剩下的问题是,当我输入10小时或10秒时,它不会向屏幕读取任何内容?我相信这是因为行字符串valueofCard=userInput.substring(0,userInput.length()/2);字符串suiteofcard=userInput.substring(userInput.length()/2);您的System.out.println语句位于“switch(suiteofcard)”语句的括号内。谢谢!!!另外,你能帮助我理解为什么当我输入“AH”时,代码会打印“AHAce of Hearts”或者为什么我的卡号值(卡号“2”-“10”)没有返回任何内容吗?看看“result”是如何初始化的,并在“switch(valueofCard)”中比较所附加的内容与a、J、Q的比较,K:)谢谢你!!!我唯一剩下的问题是,当我输入10小时或10秒时,它不会向屏幕读取任何内容?我相信这是因为行字符串valueofCard=userInput.substring(0,userInput.length()/2);字符串suiteofcard=userInput.substring(userInput.length()/2);