Nie znajduję żadnego błędu w tej klasie, ale Netbeans ciągle pokazuje czerwony symbol na tej klasie. Klasa tojava.lang.VerifyError: (klasa: ea/Individual, metoda: <init> podpis: (I) V) Konstruktor musi wywołać super() lub ten()
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package ea;
/**
*
* @author riyad
*/
import java.util.Random;
import java.util.BitSet;
public class Individual
{
BitSet variable;
double x;
double fitness;
double sharedFitness;
final int SIZE;
Random generator = new Random();
public Individual(int SIZE)
{
this.variable = new BitSet(SIZE);
this.fitness = 0;
this.sharedFitness = 0;
this.SIZE = SIZE;
for(int i=0; i<SIZE; i++)
{
if(generator.nextBoolean())
{
variable.set(i);
}
else
{
variable.clear(i);
}
}
x = Double.parseDouble(variable.toString());
}
public Individual copy()
{
Individual ind = new Individual(SIZE);
this.variable = (BitSet) ind.variable.clone();
this.fitness = ind.fitness;
this.sharedFitness = ind.sharedFitness;
this.x = ind.x;
return ind;
}
public void evaluate()
{
fitness = x * Math.sin(Math.sqrt(x));
}
public boolean getBit(int i)
{
return variable.get(i);
}
public BitSet getBitSet()
{
return variable;
}
public void setBit(int i)
{
variable.set(i);
}
public void clearBit(int i)
{
variable.clear(i);
}
public double getFitness()
{
return fitness;
}
public double sharedFitness()
{
return sharedFitness;
}
public void setSharedFitness(double fitness)
{
this.sharedFitness = fitness;
}
public void setFitness(double fitness)
{
this.fitness = fitness;
}
}
Kod jest kompilowany, ale pojawia się błąd runtime.
Exception in thread "main" java.lang.VerifyError: (class: ea/Individual, method: <init> signature: (I)V) Constructor must call super() or this()
W innej klasy, gdzie jest używany klasa indywidualną:
ArrayList<Individual> pop = new ArrayList<Individual>();
ta, gdzie klasa indywidualna jest intantiated:
Individual temp = new Individual(STRING_SIZE);
pop.add(temp);
EDIT
I haven” t ręcznie zmieniono nazwę pliku. Całe kodowanie zostało wykonane w Netbeans. Jedyny problem występuje wtedy, gdy tworzę wystąpienie Indywidualności.
EDIT2
mam skopiowane projektowi inne miejsce, wszystko jest normalne ponownie. prawdopodobnie błąd Netbeans lub JDK
http://stackoverflow.com/questions/100107/reasons-of-getting-a-java-lang-verifyerror – stacker
Aktualny kod wydaje się prawidłowy , problemem może być użycie klasy Indywidualności. Jak utworzyć jego instancję? – WoLfulus
@stacker: nie rozumiem. Jestem nowicjuszem – user