Como corrigir isso?

3 respostas
Flavia_Mota

run:
Exception in thread “main” java.lang.RuntimeException: Uncompilable source code - Illegal static declaration in inner class pesquisarandom.Pesquisa.Main
modifier ‘static’ is only allowed in constant variable declarations
at pesquisarandom.Pesquisa$Main.main(pesquisa.java:6)
Java Result: 1

Abraço,
FláviaMota

3 Respostas

igomes

Sempre posta o código por favor

lucciano01

Olá Flávia, esse erro diz que o modificador static só deve ser usado ao definir uma constante, se vc deseja usa-la como constante atribua algum valor a mesma, ou se quiser utiliza-la como variável mesmo retire o static

Flavia_Mota
package pesquisarandom;

public static long currentTimeMilles(){

public class pesquisa{

class Aleatorio{

public void aleatorio() {
        int n = 1000, x = 0;
        int original[] = new int[n];
        int a[]= new int[n];
   
    for(int i=0; i < n; i++){
       x = (int) (Math.random()*1000);
       original[i]=x;
       a[i]=x;
        if (x >= 120 && x <= 130){
        
            System.out.println("x =" + x);
        }
    }
    int i, j, menor, aux;
    for(i=0; i<(n-1);i++){
        menor = i;
        for(j=(i+1);j<n;j++)
            if(a[j]<a[menor])
                menor=j;
            
            aux=a[i];
            a[i]=a[menor];
            a[menor]=aux;
    }
}

public class Main{

public void main(String[] args){
  
    long ti = System.currentTimeMillis();
        Aleatorio();
        Sequencial();
        SeqSentinela();
        Binaria();
    long tf = System.currentTimeMillis();
        System.out.println("Executado em = " + (tf - ti) + " ms");
        System.out.println("---------------------------");


Aleatorio Sequencial   = new Aleatorio();
Aleatorio SeqSentinela = new Aleatorio();
Aleatorio binaria      = new Aleatorio(); 

new Aleatorio().Sequencial(int);
new Aleatorio().SeqSentinela(int);
new Aleatorio().Binaria(int);
    }

}

class Sequencial(){

    public int  pesquisaSequencial(int vetor[],int tam, int dado, int x) {
       int i = 0;
   
        if (x >= 120 && x <= 130){
        System.out.println("x =" + x);
        }
        while(i < tam && dado != vetor[i]){
            i++;
        } if(i < tam){
                return i;
               
        } else{
                return -1;
    }
}

class SeqSentinela(){
   
    public int pesquisaSeqSentinela(int vetor1[], int tam, int dado1, int x) {
        int i = 0;
        vetor1[tam] = dado1;
        
        if (x >= 120 && x <= 130){
        System.out.println("x =" + x);
        }
        while(dado1 != vetor1[i]){
            i++;
        }if(i < tam){
            return i;
        }else{
            return -1;
    }
}

class Binaria(){

    public int pesquisaBinaria(int vetor2[], int tam, int dado2, int x) {
        int i, esq=0, dir=tam-1;
        
        if (x >= 120 && x <= 130){
        System.out.println("x =" + x);
        }
        if(tam == 0)
            return -1;
    do{
        i = (esq + dir)/2;
        if(vetor2[i] < dado2){
            esq = i + 1;
        
        }else{
            dir = i - 1;
        }
    while((vetor2[i] != dado2)&&(esq <= dir)){
            if(vetor2[i] == dado2){
                return i;
            
            }else{
                return - 1;
            }
        }
Criado 27 de março de 2016
Ultima resposta 27 de mar. de 2016
Respostas 3
Participantes 3