Java 为什么我会得到;“表达式开头非法”;对于字符数组和;类、接口或枚举应为“;用什么方法?
我试图创建一个程序,以字符数组的形式洗牌一副牌。这是我的密码。问题是,对于deck数组,它编译时会出现“非法启动表达式”以及其他错误,而对于haslaining方法,它编译时会出现“需要类、接口或枚举”:Java 为什么我会得到;“表达式开头非法”;对于字符数组和;类、接口或枚举应为“;用什么方法?,java,arrays,chars,Java,Arrays,Chars,我试图创建一个程序,以字符数组的形式洗牌一副牌。这是我的密码。问题是,对于deck数组,它编译时会出现“非法启动表达式”以及其他错误,而对于haslaining方法,它编译时会出现“需要类、接口或枚举”: public class Blackjack { public static void main(String args[]) { char[] deck = new char[]{'A', '2', '3', '4', '5', '6', '7', '8',
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;
}
}
公共类21点
{
公共静态void main(字符串参数[])
{
char[]deck=new char[]{'A','2','3','4','5','6','7','8','9','10','J','Q','K','A','2','3','8','9','10','J','Q','K','A','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=新字符[52];
int i=0;
当(剩余的(甲板))
{
Random rand=新的Random();
int r=兰特·奈克斯汀(52);
如果(甲板[r]!='-1')
{
甲板2[i]=甲板[r];
甲板[r]=-1;
i++;
}
}
系统输出打印LN(deck2);
}
公共布尔值(char[]c)
{
for(int i=0;i
“10”和“-1”都是无效的字符常量。这会导致编译问题。'10'
不是有效字符,'-1'
也不是有效字符。也许您可以使用类似于'
或'X'
的内容,而不是-1
,来指示特定的卡已被使用。值-1
实际上不是一个字符
,因此尝试使用它会导致各种问题。如果您想将其用作实用工具方法,则使具有剩余的
静态这对解决OP的问题有何帮助?