Error: cannot find symbol

Bom dia, estou com um erro na compilação do java pelo terminal. Testei por uma IDE e o código rodou normalmente, mas pelo terminal esse erro foi encontrado indicando para uma classe.

Erro:

ClaArray.java:10: error: cannot find symbol
        Array a = new Array(5);
        ^
  symbol:   class Array
  location: class ClaArray
ClaArray.java:10: error: cannot find symbol
        Array a = new Array(5);

Classe Principal:

package claarray;

/*
 * @author Jose Junio Barbosa de Jesus
 */
public class ClaArray {

    public static void main(String[] args) {

        Array a = new Array(5);
        Array b = new Array(5);
        String data = "";
        
        data += "Array: a = " + a.getData();
        data += "\nBase: " + a.getBase();

        for (int i = 0; i < a.getLength(); i++) {
            a.setElemento(i, i);
            data += "\n" + a.getElemento(i);
        }
        
        System.out.println("\n"+ data+"\n");
                
        //Alteração no array b
        b.assign(a);
        //função que pega os dados do array e imprime, como feito em a acima
        System.out.println(""+ b.print("b")+"\n");
        
        
        b.setLength(7);
        b.setBase(1);
        
        for (int i = b.getBase(); i < b.getLength()+b.getBase(); i++) {
            b.setElemento(i, i);
        }
        
        System.out.println(""+ b.print("b")+"\n");
                
    }

}

Classe Adjacente:

package claarray;

/*
 * @author Jose Junio Barbosa de Jesus
 */
public class Array {
    private Object[] data;
    private int base;
     
    public Array(int tam, int lim){
        data = new Object[tam];
        base = lim;
    }
    
    public Array(){this(0,0);}
    
    public Array(int tam){this(tam,0);}
    
    public void assign(Array a){//Utilizado
        if(a != this){
           if(data.length != a.data.length){
               data = new Object[a.data.length];
           }
           for(int i =0;i<data.length;i++){
               data[i] = a.data[i];
               base = a.base;
           }
        }
    }

    public Object[] getData() {//Utilizado
        return data;
    }

    public int getBase() {//Utilizado
        return base;
    }
    
    public int getLength() {//Utilizado
        return data.length;
    }
    
    public void setBase(int base) {//Utilizado
        this.base = base;
    }
    
    public void setLength(int newTamanho) {//Utilizado
        if (data.length != newTamanho){
            Object newData[] = new Object [newTamanho];
            
            int min = data.length < newTamanho ? data.length : newTamanho;

            for (int i=0; i < min; i++){
                newData[i] = data[i];
            }
            
            data = newData;
        }
    }
    
    public Object getElemento(int posicao) {//Utilizado
        return data [posicao-base];
    }

    public void setElemento (int posicao, Object e){//Utilizado
        data [posicao - base] = e; 
    }
    
    public String print (String arr){//Utilizado
        String reference = "";
        reference += "Array: "+arr+" = " + getData();
        reference += "\nBase: " + getBase();

        for (int i = getBase(); i < getLength()+getBase(); i++) {
            reference += "\n" + getElemento(i);
        }
        return reference;
    } 
}

Qual comando vc usou para compilar no terminal?

javac ClaArray.java para compilar e
java ClaArray pra executar

Tu deve compilar a classe Array antes de executar, senão ela não será encontrada na execução.

Ainda tenho erro. e com a utilização desse comando ao executar a main, tenho o seguinte retorno

Error: A JNI error has occurred, please check your installation and try again
Exception in thread “main” java.lang.UnsupportedClassVersionError: ClaArray has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)

Parece que os códigos foram compilados em versões diferentes da jdk. Tente apagar os arquivos .class e compile de novo usando o mesmo jdk.

continua dando o mesmo erro. posteriormente reinstalei tudo todo o java, jdk e continua

Qual a versão da jdk que vc tem instalada?

javac -cp . *.java
1 curtida