public static getDeck(ArrayList<Integer> cards) {
for (int total = 1; total !=5; total++) {
for (int suit = 1; suit != 14; suit++) {
cards.add(suit);
}
}
Collections.shuffle(cards); // Randomize the list
return cards;
}
public static void main(String[] args) {
// Create the cards here.
ArrayList<Integer> cards = new ArrayList<>();
cards = getDeck(cards);
}
我希望能够调用函数getDeck,它将向我传递给它的Arraylist添加52个数字。在这种情况下卡。然后返回此对象并将其设置为卡片。
我得到的错误就是这样。
答案 0 :(得分:5)
getDeck
没有返回类型,您需要将其指定为ArrayList<Integer>
或其中的任何超类型
public static ArrayList<Integer> getDeck(ArrayList<Integer> cards) {
for (int total = 1; total !=5; total++) {
for (int suit = 1; suit != 14; suit++) {
cards.add(suit);
}
}
Collections.shuffle(cards); // Randomize the list
return cards;
}
答案 1 :(得分:1)
您需要指定方法的返回类型,如下所示:
public static ArrayList<Integer> getDeck(ArrayList<Integer> cards) {
//your code
}
答案 2 :(得分:1)
您忘记包含退货类型。方法签名应该写成:
public static List<Integer> getDeck(List<Integer> cards)
我建议使用接口类型,在本例中为List<Integer>
类型而不是实现者类型ArrayList<Integer>
,这样就可以返回List的所有类型的实现者(例如LinkedList,ArrayList等等) )。这是一个名为program to interfaces的概念。
答案 3 :(得分:0)
接口编程:
public static List<Integer> getDeck(List<Integer> cards) {
for (int total = 1; total !=5; total++) {
for (int suit = 1; suit != 14; suit++) {
cards.add(suit);
}
}
Collections.shuffle(cards); // Randomize the list
return cards;
}
public static void main(String[] args) {
// Create the cards here.
List<Integer> cards = new ArrayList<>();
cards = getDeck(cards);
}