Java中,只能够有一个public的类,而且,你为什么要把main()方法写在Public类的外面? 或者是你大括号写多了一个? 你是不是用eclipse的 或者是用ultraedit? 如果是用eclipse的话 你要注意红线的位置,就是错误的位置,ultraedit的话 使用Cmd指令 javac + ***.java表示编译,java  + ***.java表示运行,当然要先编译之后才可以运行

解决方案 »

  1.   

    import java.util.ArrayList;
    import java.util.Random;public class PokerCreate {
        // 创建花色和牌面的数组
        String colors[] = {
                "黑桃", "红桃", "梅花", "方块"
        };    String nums[] = {
                "a", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K"
        };    public ArrayList<Poker> createPokers() {
            ArrayList<Poker> pokers = new ArrayList<Poker>();
            for (int i = 0; i < colors.length; i++) {
                for (int j = 0; j < nums.length; j++) {
                    String color = colors[i];
                    String num = nums[j];
                    Poker P = new Poker();
                    P.color = color;
                    P.num = num;
                    pokers.add(P);
                }
            }        for (int i = 0; i < 52; i++) {
                // 创建一个poker
                Poker p = new Poker();
                // 根据i的值,获取两个数,第一个(0-3)是花色
                String color = colors[i % 4];
                // 第二个(0-12)是牌面
                String num = nums[i % 13];
                p.color = color;
                p.num = num;
                pokers.add(p);
            }
            return pokers;
        }    public static void main(String[] args) {
            Random rand = new Random();
            PokerCreate pc = new PokerCreate();
            ArrayList<Poker> pokers = pc.createPokers();
            for (int i = 0; i < pokers.size(); i++) {
                System.out.println(pokers.get(i));
            }
            System.out.println(pokers.size());
        }
    }
    class Poker {
        String color;
        String num;
        
        @Override
        public String toString() {
            return color + num;
        }
    }我猜这是你大概想要的代码,你的createPokers()方法加了两套牌,最后可以看到它的大小是104,如果你是想加一套牌的话是没问题的