【发布时间】:2015-06-11 13:15:39
【问题描述】:
代码:
import java.util.*;
public class shuffleDeck
{
public static int shuffleDeck (int[] deck, int theNumber)
{
int [] array1 = new int [52];
Random random = new Random();
for (int i = deck.length, j, tmp; i > 1; i--) {
j = random.nextInt(i);
tmp = deck[i - 1];
deck[i - 1] = deck[j];
deck[j] = tmp;
return theNumber;
}
}
public static void main(String[] args)
{
int [] deck = new int [52];
for(int i=0; i<52; i++)
{
deck[i]=i+1;
}
int count;
count=1;
int total=1;
shuffleDeck(deck, count);
System.out.println();
}
}
shuffleDeck 方法有错误。我不确定这意味着我需要返回一些东西,但它不会返回,而且我收到了这个奇怪的错误。
我无法解决这个问题,我环顾了整个堆栈。 感谢谁能帮我解决这个错误。
【问题讨论】:
-
类名和方法名不能相同。它变成了一个构造函数。
-
如果在循环的第一次迭代中从方法返回,为什么会有循环?如果您只返回未修改的给定值,为什么还要有任何代码?到那时……为什么还要退回任何东西?调用代码已经具有该值。
-
您还返回了
theNumber参数的未更改值,这是故意的吗?这也与您的问题有些相关:theNumber是一个普通的旧int,而不是int[],因此它与您声明的int[]的返回类型不兼容。 -
请遵守 Java 命名约定 (oracle.com/technetwork/java/codeconventions-135099.html)。这可能会阻止您的错误
标签: java