【发布时间】:2021-09-27 05:36:38
【问题描述】:
对于一个练习,我正在编写一个初始化单个虚拟扑克牌的程序,并且我还使用枚举作为主类,如下所示。
问题是这里的这个块
在下面的代码块中,我尝试将西装和排名都输入到这个变量中,但 Intellij 说输入“Jack”,因为西装不是陈述。Error Message "not a statement"(it's under "Jack").
public static void main(String[] args)
{
CardMaker Card = (Hearts, "Jack");
Card.printCard();
}
代码:
import java.util.Arrays;
public enum CardMaker
{
Hearts, Spades, Clubs, Diamond;
CardMaker Suit;
String[] Ranks = {"2", "3", "4", "5", "6", "7", "8", "9", "10", "Jack", "Queen", "King", "Ace"};
String Rank = "";
CardMaker(CardMaker Suit, String Rank)
{
this.Rank = Rank;
this.Suit = Suit;
if(Arrays.binarySearch(Ranks, Rank) < 0)
{
System.out.println("Invalid Rank try again");
System.exit(1);
}
}
private String[] Card = {String.valueOf(Suit), Rank};
CardMaker()//This stops a error I forgot which one
{
}
private String printCard()
{
System.out.printf("Here's your card '%1$s" ,Card.toString());
return Card.toString();
}
public static void main(String[] args)
{
CardMaker Card = (Hearts, "Jack");
Card.printCard();
}
}
https://docs.oracle.com/javase/tutorial/java/javaOO/enum.html 教程告诉我枚举构造函数是如何工作的,但第一次并没有告诉我你不能创建枚举的对象。
第二,它没有说你不能初始化一个枚举类型的对象(请解释它是如何工作的以及它是否与我的问题有关)。
(这不是一个骗局,因为这是我在 java 中为这个项目提出的同一种问题,但与 c# 不同,我忽略了其他语言,因为这是一个 java 语法问题)
【问题讨论】:
-
这能回答你的问题吗? How do you pass multiple enum values in C#?
-
@MustafaCEVIK 这个问题没有被标记为 C#。
-
我的理解错了我的问题有什么问题我是来学习的
标签: java intellij-idea enums