代码:https://gist.github.com/anonymous/71d1baf86eb8354cfbfe
当我运行它时,我遇到了这个问题:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
This method must return a result of type int[]
at NewBlackJack.genCards(NewBlackJack.java:25)
at NewBlackJack.main(NewBlackJack.java:21)
我无法弄清楚我的生活是错的。我知道它与返回阵列有关,我已经完成了我的研究,但我仍然需要帮助。
谢谢!
答案 0 :(得分:2)
只有在输入if语句
时才会返回if (genWhat == 0){
当genWhat!= 0时,你根本不会返回任何东西。这就是抱怨的原因。所以你需要在if语句之后添加一个return语句。
答案 1 :(得分:0)
根据你的代码,似乎你应该简单地删除if语句,因为你的代码将0传递给genCards你的方法应该像这样编写:
public static int[] genCards(int genWhat)
{
Random r = new Random();
/*if (genWhat == 0) remove this if statement
{ */
int[] cards = {0,0,0,0,0,0};
for (int i = 0; i < 4; i += 1)
{
cards[i] = 2 + r.nextInt(13);
if (cards[i] > 11)
{
cards[i] = 10;
}
if (cards[i] == 11)
{
if (cards[i] < 2)
{
cards[5] += 1;
}
else
{
cards[6] += 1;
}
}
}
System.out.println(cards);
return cards;
//}
}