B 
		
				
			
		Baseline
Gast
Hallo Zusammen
	
	
	
	
	
		
	
Das Programm läuft zwar, doch wenn ich es laufen lasse, sollte es für den 0-ten Tag 3 mal eine 1 anzeigen (population[x][y]=1). Dies wurde in der letzten Methode programmiert mit der for-schleife. Doch irgendwie klapp das nicht ganz. Eclipse zeigt dann als Ausgabe immer mehr als 3 mal eine 1. Wenn ich die for-schleife weg lasse, dann zeigt es richtigerweise aber nur 1mal eine 1 an.
Weiss wer was zu tun ist`?
			
			
		Java:
	
	import terminal.VT;
import terminal.VTerm;
public class Pandemie {
	// globale Matrix für das Speichern der Population
	static int[][] population = new int[21][51];
	static VTerm console = VTerm.getInstance(25, 80, "Pandemie", VT.CS_TINY);
	public static void main(String[] args) {
		int i, j; // Laufvariablen für die Schleifen
		// Die Werte im Array Personen werden auf 0 gesetzt
		for (i = 0; i < 21; i++) {
			for (j = 0; j < 51; j++) {
				population[i][j] = 0;
			}
		}
		// Ausgabe im Fenster von console (Typ VTerm)
		print();
		console.delay(500); // 	
		// erste Person soll angesteckt werden
		init();
		for (int tage = 0; tage < 1; tage++) {
			for (i = 1; i < 20; i++) {
				for (j = 1; j < 50; j++) {
					ansteckung(i, j);
				}
			}
			console.clearScreen(); // Löschen des Inhalts von console
			console.println("Tag " + tage);
			// Ausgabe im Fenster von console (Typ VTerm)
			print();
			console.delay(500);
		}
		// schliessen der Konsole mit Enter
		console.readyToExit(true);
	}
	/* Hinzufügen der neuen Methoden */	
	public static void print(){
		int i, j;
		for (i = 0; i < 21; i++) {
			for (j = 0; j < 51; j++) {
				if (population[i][j] > 0) {
					console.print("" + population[i][j]);
				} else {
					console.print(' ');
				}
			}
			console.println();
	}
	}
	public static void ansteckung(int x, int y) {
		if(population[x][y]==0 && (population[x][y-1]>0 || population[x][y+1]>0 || population[x-1][y]>0 || population[x+1][y]>0) ){
		int zufall=(int)(Math.random () * 3);
		// Berechnung der Ansteckung
		if(zufall==0){
		population[x][y] = 1;
		}
		}
	}
	public static void init(){
		int x, y;
		for(int a=0; a<3; a++){
			x=(int)(Math.random () *21)+1;
			y=(int)(Math.random () *51)+1;
			population[x][y]=1;
			}
	}
}
	Das Programm läuft zwar, doch wenn ich es laufen lasse, sollte es für den 0-ten Tag 3 mal eine 1 anzeigen (population[x][y]=1). Dies wurde in der letzten Methode programmiert mit der for-schleife. Doch irgendwie klapp das nicht ganz. Eclipse zeigt dann als Ausgabe immer mehr als 3 mal eine 1. Wenn ich die for-schleife weg lasse, dann zeigt es richtigerweise aber nur 1mal eine 1 an.
Weiss wer was zu tun ist`?