Java 扑克牌开关编程
这是我试图运行的程序要求。实际上我更喜欢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,但是没有输出,我是不是遗漏了什么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) 获得输入后,您的程序应
//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":