java - 为什么我得到的 char 数组为 "illegal start of expression",该方法为 "class, interface, or enum expected"?

标签 java arrays chars

我正在尝试创建一个以字符数组形式洗牌的程序。这是我的代码。问题是,它在编译时会出现甲板数组的“非法表达式开始”以及其他错误,以及 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/

相关文章:

java - 使用JAVA读取字符串中的2个字母

java - 我的报告在 Eclipse 中正常工作,但使用 jar 文件抛出 "No query executer factory registered for the ' MongoDbQuery'"

java - 页面刷新验证

arrays - 在elasticsearch中只返回字符串数组中的一个元素

java - 测试输入的前两个字符是否为字母数字 - 无正则表达式

java - GWT 中的 "Development mode is loading..."和 "Waiting for launch URLs"

java - TimePickerDialog 和时区

javascript - 如何在 React 中更新包含 N 个对象的 2D 数组的状态?

javascript - 如何从一个数组中获取数据,随机选取一半而不选择同一张卡两次,然后将它们移动到另一个数组?