错误:非法启动类型:for循环

时间:2018-02-11 06:29:11

标签: java compiler-errors

这是我的代码: 我检查了我的花括号。他们都有他们的配对。

import java.util.ArrayList;
public class Deck
{
    final int SUITS = 4;
    final int RANKS = 13;
    //ARRAY
    double[][]card=new double[SUITS][RANKS];
    for (int suits=0; suits<SUITS; suits++)
    {
        for(int ranks=0; ranks<RANKS; ranks++)
        {
            cards[suits][ranks]=new Card(suit,rank);
        }
    }
}

错误:

illegal start of type for (int suits=0; suits<SUITS; suits++)

1 个答案:

答案 0 :(得分:0)

您需要将代码放在methodconstructorinitializer block中才能执行。

方法 -

import java.util.ArrayList;
public class Deck
{

    final int SUITS = 4;
    final int RANKS = 13;

    public void someMethod() {
        //ARRAY
        double[][]card = new double[SUITS][RANKS];
        for (int suits=0; suits<SUITS; suits++)
        {
            for(int ranks=0; ranks<RANKS; ranks++)
            {
                cards[suits][suits] = new Card();
            }
        }
    }
}

构造函数 -

import java.util.ArrayList;
public class Deck
{

    final int SUITS = 4;
    final int RANKS = 13;

    public Deck() {
        //ARRAY
        double[][]card = new double[SUITS][RANKS];
        for (int suits=0; suits<SUITS; suits++)
        {
            for(int ranks=0; ranks<RANKS; ranks++)
            {
                cards[suits][suits] = new Card();
            }
        }
    }
}

初始化程序块 -

import java.util.ArrayList;
public class Deck
{

    final int SUITS = 4;
    final int RANKS = 13;

    {
        //ARRAY
        double[][]card = new double[SUITS][RANKS];
        for (int suits=0; suits<SUITS; suits++)
        {
            for(int ranks=0; ranks<RANKS; ranks++)
            {
                cards[suits][suits] = new Card();
            }
        }
    }
}