Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么我会得到;“表达式开头非法”;对于字符数组和;类、接口或枚举应为“;用什么方法?_Java_Arrays_Chars - Fatal编程技术网

Java 为什么我会得到;“表达式开头非法”;对于字符数组和;类、接口或枚举应为“;用什么方法?

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',

我试图创建一个程序,以字符数组的形式洗牌一副牌。这是我的密码。问题是,对于deck数组,它编译时会出现“非法启动表达式”以及其他错误,而对于haslaining方法,它编译时会出现“需要类、接口或枚举”:

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的问题有何帮助?