用类的名称声明对象的java
int sum = 0;
for (int i = 0; i < 5; i++) {
Card c = deck.deal();
System.out.println("Got card " + c.getName());
sum += c.getValue();
}
我不懂那行。
Card是不同的类,deck是main()
中的对象,deal()
在不同的类中
import java.util.Random;
public class Deck {
int Cnumb;
int Cname;
String cardName[] = new String[5];
int cardNum[] = new int[14];
public void init(){
cardName[0] = "";
cardName[1] = "Heart's";
cardName[2] = "Diamond's";
cardName[3] = "Spade's";
cardName[4] = "Club's";
cardNum[0] = 0;
cardNum[1] = 1;
cardNum[2] =2;
cardNum[3] =3;
cardNum[4] =4;
cardNum[5] =5;
cardNum[6] =6;
cardNum[7] =7;
cardNum[8] =8;
cardNum[9] =9;
cardNum[10] =10;
cardNum[11] =11;
cardNum[12] =12;
cardNum[13] =13;
}
public void shuffle(){
Random rnd = new Random();
// Random Card
Cnumb = rnd.nextInt(Integer.MAX_VALUE) % 13;
Cnumb = Cnumb + 1;
Cname = rnd.nextInt(Integer.MAX_VALUE) % 4;
Cname = Cname + 1;
}
public Card deal(){
String Suit = cardName[Cname];
int Rank = cardNum[Cnumb];
//return ; // here is the problem
}
}
# 1 楼答案
卡是一门课,你说得对。这行代码返回一个卡片对象:
Deck是另一个包含所有卡的类,它包含一个名为deal的方法,该方法返回一张卡
编辑:您有两个问题,您的方法
deal()
被写入返回一张卡object
,但您已将该卡声明为strings
的array
。这会导致一个错误# 2 楼答案
类
Card
似乎是由名为deal
的Deck
类中的方法返回的。我们真的看不出你到底想要什么,但这是一个基本的解释如果您想了解更多关于面向对象编程工作原理的信息,这里有一个Brian Will的优秀教程:YouTube Video