# Hamstersimulator



## Tanja (5. Jan 2007)

int AnzahlSpalten = Territorium.getAnzahlSpalten();

	int gefressen = 0;

	int i;

	int [] Koerner = new int [AnzahlSpalten];

	SortierHamster [] Hamster = new SortierHamster [AnzahlSpalten];

void main() 
{
	for (int i = 0; i<AnzahlSpalten; i++)
	{
		SortierHamster Hans = new SortierHamster();
		Hans.init(0,i,2,0);

		Hamster_ = Hans;
	}

	for (int i=0; i<AnzahlSpalten;i++)
	{
		Hamster.sammle();	
	}


	for (int i=AnzahlSpalten; i<0; i--)  
	{

		if ( Koerner[i-1] < Koerner)
		{
			int temp = Koerner[i-1];
			Koerner[i-1] = Koerner;
			Koerner = temp;

			SortierHamster tmp = Hamster[i-1];
			Hamster[i-1] = Hamster;
			Hamster = tmp;		

			Hamster[i-1].linksUm();
			Hamster[i-1].vor();
			Hamster[i-1].RechtsUm();
			Hamster.RechtsUm();	
			Hamster.vor();
			Hamster.linksUm();
		}
		else
		{

		}
	}	

 

	for (int i=0; i<AnzahlSpalten;i++)
	{
		Hamster.kehrt();
		Hamster.gibAus();		
	}

	for (int i=0; i<AnzahlSpalten; i++)
	{
		Hamster.kehrt();
		while (Hamster.vornFrei())
		{
			Hamster.vor();
		}
	}
}



Hallo Leute. Ich hab da ein kleines großes Probem. Wir beschäftigen uns gerade mit dem Hamstersimulator in Informatik. Der Quellcode oben enthält anscheinend einen Fehler, weil der orangene Teil einfach nciht durchlaufen wird. helft mir, ich bin schon am verzweifeln._


----------



## Wildcard (5. Jan 2007)

for (int i=AnzahlSpalten; i<0; i--) 
i<0 kann niemals richtig sein. Wenn AnzahlSpalten negativ ist ist das eine endlosschleife, wenn es positiv ist wird die Schleife nicht ausgeführt.
Für die Zukunft:
benutz bitte Codetags und schau dir mal die Java Coding-Conventions an.


----------



## hupfdule (5. Jan 2007)

Pack das ganze mal in code-Tags. Dazu sind sie da und man kann das weitaus besser lesen.

Wenn der Code nicht durchlaufen wird, dann mach kurz davor mal ein System.out.println() über die wichtigsten Variablen. In diesem Fall wäre das "AnzahlSpalten".

Ich vermute, dass deine Bedingung falsch ist. Du hast:


```
for (int i=AnzahlSpalten; i<0; i--)
```
und möchtest sicherlich

```
for (int i=AnzahlSpalten; i>0; i--)
```

BTW: Variablennamen bitte in camelCase schreiben.


----------



## Tanja (5. Jan 2007)

das hilft uns aber auhc nicht weiter, die bedingung hab ich ja shcon geändert, es geht trotzdem nicht


----------



## hupfdule (5. Jan 2007)

* Deinen geposteten Code hast du immer noch nicht in code-Tags gepackt.
* Dass du die Bedingung bereits geändert hast, wird wohl keinem hier bewusst gewesen sein
* "es geht trotzdem nicht" ist keine sehr hilfreiche Fehlerbeschreibung


----------



## Tanja (30. Jan 2007)

ja also liebe hupfdule, ich dachte ich meld mich mal wieder hier, um dir zu berichten, dass es doch einwandfrei geklappt hat. auch ohne deine "ach-so-tollen" tipps. nochmals danke, dass du dir die mühe gemacht hast, dich hingesetzt hast und uns schön für blöd hingestellt hast. ja das hat uns richtig motiviert und uns mal gezeigt was es für arrogante menschen auf der welt gibt.


----------



## Guest (30. Jan 2007)

Tanja hat gesagt.:
			
		

> ja also liebe hupfdule, ich dachte ich meld mich mal wieder hier, um dir zu berichten, dass es doch einwandfrei geklappt hat. auch ohne deine "ach-so-tollen" tipps. nochmals danke, dass du dir die mühe gemacht hast, dich hingesetzt hast und uns schön für blöd hingestellt hast. ja das hat uns richtig motiviert und uns mal gezeigt was es für arrogante menschen auf der welt gibt.


Reagierst du immer so, wenn man dir hilft? :autsch: 

Solche Sprüche gehören zu den Gründen, warum viele ein Forum verlassen. Es macht keinen 
Spass jemandem zu helfen, wenn man hinterher noch beleidigt wird.


----------



## FelixB (31. Jan 2007)

Tanja hat gesagt.:
			
		

> ja also liebe hupfdule, ich dachte ich meld mich mal wieder hier, um dir zu berichten, dass es doch einwandfrei geklappt hat. auch ohne deine "ach-so-tollen" tipps. nochmals danke, dass du dir die mühe gemacht hast, dich hingesetzt hast und uns schön für blöd hingestellt hast. ja das hat uns richtig motiviert und uns mal gezeigt was es für arrogante menschen auf der welt gibt.



schön, dass es geklappt hat. 

Trotzdem erhöht es die Zahl der möglichen Reaktionen auf ein Problem ungemein, wenn man Code auch dementsprechent kennzeichnet. Ich selber lese mir keine Code durch, der hier als Plaintext gepostet wird, weil es  mir viel zu anstrengend ist.

Wenn du das Problem schon selbst gelöst hast, wäre es nett, wenn du kurz die Lösung posten würdest, da früher oder später bestimmt jemand mit einem ähnlichen Problem kommt.


----------



## Azrahel (31. Jan 2007)

Wildcard hat gesagt.:
			
		

> for (int i=AnzahlSpalten; i<0; i--)


Hä?  :bahnhof:  ???:L 

@Tanja, manchmal sind die Leutz hier ein wenig raubautzig, nichts desto weniger versuchen sie meisten ihren geistigen Fähigkeiten entsprechend zu helfen, und auch wenn sies manchmal missverständlich ausdrücken, allein schon das dir jemand antwortet heisst das du Beachtung findest.

Aber das mit den Code-Tags stimmt  :wink:


----------

