csstudent
csstudent

Reputation: 173

Error: cannot find symbol ArrayList

I'm trying to create some kind of list to store values from the array 'table'. (I'm using a arraylist here, but should I be using a list instead?) However, every time I try to compile, it throws the following error:

cannot find symbol symbol : class ArrayList location: class players.TablePlayer

The code is below.

public class TablePlayer extends Player {

    int[][] table;
    ArrayList goodMoves;


    public TablePlayer(String name) {
        super(name);
    }

    @Override
    public int move() {
        int oppLast = opponentLastMove();
        int myLast = myLastMove();
        if (!isLegalMove(oppLast)) {
            return 0; // temporary
        }
        if (wonLast()) {
            table[oppLast][myLast] = 1;
            table[myLast][oppLast] = -1;
        }
        if ((wonLast() == false) && (oppLast != myLast)) {
            table[oppLast][myLast] = -1;
            table[myLast][oppLast] = 1;
        }
        for (int i = 0; i < table.length; i++) {
            for (int j = 0; j < table.length; j++) {
                if (table[i][j] == 1) {
                    goodMoves.add(table[i][j]);
                }
            }
        }

        return oppLast; // temporary
    }

    @Override
    public void start() {
        int[][] table = new int[7][7];
        ArrayList<int> goodMoves = new ArrayList<int>();
    }
}

Any help would be great, thanks!

Upvotes: 16

Views: 120214

Answers (4)

Aditya Singh
Aditya Singh

Reputation: 1

I am new to the community and on a path of learning now. But I think the main problem is of int

Wrong

ArrayList <int> goodMoves = new ArrayList <int>();

Right

ArrayList <Integer> goodMoves = new ArrayList <Integer>();

Upvotes: -4

Shubham Teke
Shubham Teke

Reputation: 21

While doing any java program just

import java.util.*;

Because * will import all the packages from util.

And all the basic package are present in that java.util like Scanner, ArrayList, etc...

So to avoid errors first check you have imported that.

Upvotes: 2

Andre Pastore
Andre Pastore

Reputation: 2897

Before use a class, you need to import it into you class file definition.

Add it on top of your file:

import java.util.ArrayList;

For more info about imports, look it up here

It is recommended to learn how to use a IDE, like Eclipse, Netbeans. It will help you with these common mistakes when we are programming in Java (in this case) outside a integrated environment.

Upvotes: 0

mrks
mrks

Reputation: 8333

Do you have an import statement in the top of the file?

import java.util.ArrayList;

Upvotes: 35

Related Questions