|
| Fejl igen :-) Fra : Søren Gørtz Olesen |
Dato : 13-11-03 18:52 |
|
Hvad skal jeg ændre når jeg får denne fejl?
java.lang.NoClassDefFoundError: Simulator at main.main(Main.java:5)
Exception in thread "main" Process Exit...
Håber på lidt hjlæp
/søren
| |
Jesper Sørensen (13-11-2003)
| Kommentar Fra : Jesper Sørensen |
Dato : 13-11-03 19:08 |
|
Søren Gørtz Olesen wrote:
> Hvad skal jeg ændre når jeg får denne fejl?
> java.lang.NoClassDefFoundError: Simulator at main.main(Main.java:5)
> Exception in thread "main" Process Exit...
>
>
>
> Håber på lidt hjlæp
>
> /søren
Hedder din java-fil det samme som din class.
fx
class Test{...} skal ligge i en fil der hedder Test.java
eller er du sikker på at du ikke prøver at oprette et objekt af en type
der ikke eksistere.
mvh
JS
| |
Jesper Sørensen (13-11-2003)
| Kommentar Fra : Jesper Sørensen |
Dato : 13-11-03 19:09 |
|
Jesper Sørensen wrote:
> Søren Gørtz Olesen wrote:
>
>> Hvad skal jeg ændre når jeg får denne fejl?
>> java.lang.NoClassDefFoundError: Simulator at main.main(Main.java:5)
>> Exception in thread "main" Process Exit...
>>
>>
>>
>> Håber på lidt hjlæp
>>
>> /søren
>
>
> Hedder din java-fil det samme som din class.
> fx
> class Test{...} skal ligge i en fil der hedder Test.java
>
> eller er du sikker på at du ikke prøver at oprette et objekt af en type
> der ikke eksistere.
>
> mvh
> JS
Og hvis det stadig ikke virker må du meget gerne poste source koden med.
Det gælder faktisk altid når du stiller et spørgsmål ang. noget
specifikt du arbejder med.
mvh
JS
| |
Trygleren [9000] (13-11-2003)
| Kommentar Fra : Trygleren [9000] |
Dato : 13-11-03 20:03 |
|
> Hedder din java-fil det samme som din class.
> fx
> class Test{...} skal ligge i en fil der hedder Test.java
Det ville ikke kaste den exception. Kompileren ville gøre opmærksom på det
specifikke problem.
--
"Sic gorgiamus allos subjectatos nunc"
Med venlig hilsen
Lars 'Trygleren' Winther
www.hesteskelet.dk -- Diametralsk modsætning ophæver tyngdeloven med krav om
forlig
| |
Søren Gørtz Olesen (13-11-2003)
| Kommentar Fra : Søren Gørtz Olesen |
Dato : 13-11-03 21:17 |
|
Altså, programmet kan godt køres i blueJ.
Jeg oprettetede en Main.java i kawa der skulle starte det hele (gør BlueJ
for en)
Main.java ser sådan ud :
public class main
{
public static void main (String [] arg)
{
Simulator s = new Simulator();
s.runLongSimulation();
}
}
Det hele bliver compilet fint!
>
> eller er du sikker på at du ikke prøver at oprette et objekt af en type
> der ikke eksistere.
>
Ja, men hvordna tjekker jeg det?
| |
Trygleren [9000] (13-11-2003)
| Kommentar Fra : Trygleren [9000] |
Dato : 13-11-03 22:03 |
|
> > eller er du sikker på at du ikke prøver at oprette et objekt af en type
> > der ikke eksistere.
> >
> Ja, men hvordna tjekker jeg det?
Du ville få en ClassNotFoundException, hvis det var tilfældet.
--
"Sic gorgiamus allos subjectatos nunc"
Med venlig hilsen
Lars 'Trygleren' Winther
www.hesteskelet.dk -- Diametralsk modsætning ophæver tyngdeloven med krav om
forlig
| |
Trygleren [9000] (13-11-2003)
| Kommentar Fra : Trygleren [9000] |
Dato : 13-11-03 22:04 |
|
> Simulator s = new Simulator();
> s.runLongSimulation();
Det er Simulatorklassen, der er den vigtige her - kan du ikke vise os den?
--
"Sic gorgiamus allos subjectatos nunc"
Med venlig hilsen
Lars 'Trygleren' Winther
www.hesteskelet.dk -- Diametralsk modsætning ophæver tyngdeloven med krav om
forlig
| |
Søren Gørtz Olesen (14-11-2003)
| Kommentar Fra : Søren Gørtz Olesen |
Dato : 14-11-03 04:00 |
|
"Trygleren [9000]" <HesteskeletSPAM@hesteskeletSPAM.dk> skrev i en
meddelelse news:3fb3f1b6$0$286$edfadb0f@dtext02.news.tele.dk...
> > Simulator s = new Simulator();
> > s.runLongSimulation();
>
> Det er Simulatorklassen, der er den vigtige her - kan du ikke vise os den?
>
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Random;
import java.util.Collections;
import java.util.List;
public class Simulator
{
private static final int DEFAULT_WIDTH = 50;
private static final int DEFAULT_DEPTH = 50;
private List actor;
private List newAnimals;
private Field field;
private Field updatedField;
private int step;
private SimulatorView view;
public Simulator()
{
this(DEFAULT_DEPTH, DEFAULT_WIDTH);
}
public Simulator(int depth, int width)
{
if(width <= 0 || depth <= 0) {
System.out.println("The dimensions must be greater than zero.");
System.out.println("Using default values.");
depth = DEFAULT_DEPTH;
width = DEFAULT_WIDTH;
}
actor = new ArrayList();
newAnimals = new ArrayList();
field = new Field(depth, width);
updatedField = new Field(depth, width);
// Create a view of the state of each location in the field.
view = new SimulatorView(depth, width);
// Setup a valid starting point.
reset();
}
public void runLongSimulation()
{
simulate(500);
}
public void simulate(int numSteps)
{
for(int step = 1; step <= numSteps && view.isViable(field); step++)
{
simulateOneStep();
}
}
public void simulateOneStep()
{
step++;
newAnimals.clear();
// let all animals act
for(Iterator iter = actor.iterator(); iter.hasNext(); ) {
Actor actor = (Actor)iter.next();
if(actor.isAlive()) {
actor.act(field, updatedField, newAnimals);
}
else {
iter.remove(); // remove dead animals from collection
}
}
/*
for(Iterator iter = actor.iterator(); iter.hasNext(); ) {
Actor actor = (Actor)iter.next();
actor.act(field, updatedField, newAnimals);
actor.isAlive();
}
*/
//for(Iterator iter = ac)
// add new born animals to the list of animals
actor.addAll(newAnimals);
// Swap the field and updatedField at the end of the step.
Field temp = field;
field = updatedField;
updatedField = temp;
updatedField.clear();
// display the new field on screen
view.showStatus(step, field);
}
/**
* Reset the simulation to a starting position.
*/
public void reset()
{
step = 0;
actor.clear();
field.clear();
updatedField.clear();
//Kalder den nye klasse med de parametere der er nødvendige for at
få den til at køre!
PopulateGenerator populateGenerator = new PopulateGenerator(field,
actor, view);
// Show the starting state in the view
view.showStatus(step, field);
}
}
| |
Michael K?lling (14-11-2003)
| Kommentar Fra : Michael K?lling |
Dato : 14-11-03 12:47 |
|
"Søren Gørtz Olesen" <soren_olesen@hotmail.com> wrote in message news:<bp0ot1$dke$1@sunsite.dk>...
> Altså, programmet kan godt køres i blueJ.
> Jeg oprettetede en Main.java i kawa der skulle starte det hele (gør BlueJ
> for en)
> Main.java ser sådan ud :
>
> public class main
> {
> public static void main (String [] arg)
> {
> Simulator s = new Simulator();
> s.runLongSimulation();
> }
> }
>
> Det hele bliver compilet fint!
This may have to do with the fact that your file is called 'Main'
(capital M!) and your class is called 'main' (lowercase M!).
If you are on Windows, the file system is not case sensitive, and the
compiler might not notice. But Java is case sensitive, and would
stumble over this.
Michael
| |
|
|