我正在尝试创建一个以字符数组形式洗牌的程序。这是我的代码。问题是,它在编译时会出现甲板数组的“非法表达式开始”以及其他错误,以及 hasRemaining 方法的“预期类、接口(interface)或枚举”:
public class Blackjack
{
public static void main(String args[])
{
char[] deck = new char[]{'A', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K', 'A', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K','A', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K','A', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K'};
char[] deck2 = new char[52];
int i = 0;
while (hasRemaining(deck))
{
Random rand = new Random();
int r = rand.nextInt(52);
if (deck[r] != '-1')
{
deck2[i] = deck[r];
deck[r] = -1;
i++;
}
}
System.out.println(deck2);
}
public boolean hasRemaining(char[] c)
{
for (int i = 0; i < c.length; i++)
{
if (c[i] != '-1')
return true;
}
return false;
}
}
最佳答案
“10”和“-1”都是无效字符常量。这会导致编译问题。
关于java - 为什么我得到的 char 数组为 "illegal start of expression",该方法为 "class, interface, or enum expected"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51663083/