
public class Analyse {
	
	private String[] wo1 = {"Mo","Di","Mi","Do","Fr","Sa","So"}; 
	private String[] wo2 = new String[7]; //null-Werte
	private String[] wo3;
	
	public void initialisieren(){
		//wo3 = {"42"}  geht nicht
		wo3 = wo2;
		EinUndAusgabe io = new EinUndAusgabe();
		for(int i=0; i<wo1.length; i=i+1){
			wo2[i]=wo1[i];
		}
		for(int i=0; i<wo3.length; i=i+1){
			io.ausgeben(wo3[i]);
		}
		io.ausgeben("\n");
	}
	
	public void zeigeTipps(int anzahl){
		EinUndAusgabe io = new EinUndAusgabe();
		for(int i=0; i<anzahl; i++){
			io.ausgeben(i+": "+new Tipp()+"\n");
		}
	}	
	
	public void haeufigkeiten(int anzahl){
		//Interaktionsbrett ib = new Interaktionsbrett();
		Tipp mein = new Tipp();
		int[] ergebnis = { 0, 0, 0, 0, 0, 0, 0 };
		int[] gezogen = new int[49];
		for (int i = 0; i < gezogen.length; i = i + 1) {
			gezogen[i] = 0;
		}
		//ib.starteUhr();
		this.losenUndAuswerten(mein, ergebnis, gezogen, anzahl);
		EinUndAusgabe io = new EinUndAusgabe();
		//io.ausgeben("Dauer: "+ib.stoppeUhr()+"\n");
		for(int i = 0; i < ergebnis.length; i = i + 1){
			io.ausgeben(i+"er: "+ergebnis[i]+"\n");
		}
		for(int i = 0; i < gezogen.length; i = i + 1){
			io.ausgeben((i+1)+":"+gezogen[i]+"  ");
			if((i+1)%6 == 0){
				io.ausgeben("\n");
			}
		}
	}

	public void losenUndAuswerten(Tipp mein, int[] ergebnis,
			int[] gezogen, int anzahl) {
		for (int i = 0; i < anzahl; i = i + 1) {
			Tipp tmp = new Tipp();
			int treffer = mein.gemeinsam(tmp);
			ergebnis[treffer] = ergebnis[treffer] + 1;
			for (int j = 0; j < 49; j = j + 1) {
				if (tmp.enthaelt(j + 1)) {
					gezogen[j] = gezogen[j] + 1;
				}
			}
		}
	}
	
	/** �berraschend nicht schneller
	public void losenUndAuswerten2(Tipp mein, int[] ergebnis,
			int[] gezogen, int anzahl) {
		for (int i = 0; i < anzahl; i = i + 1) {
			Tipp tmp = new Tipp();
			int treffer = mein.anzahlUebereinstimmungen(tmp);
			ergebnis[treffer] = ergebnis[treffer] + 1;
			for(int k:tmp.getWerte()){
				gezogen[k-1] = gezogen[k-1] +1;
			}
			for (int j = 0; j < 49; j = j + 1) {
				if (tmp.enthaelt(j + 1)) {
					gezogen[j] = gezogen[j] + 1;
				}
			}
		}
	}
	**/
	
	public void mehrdimensional1(){
		EinUndAusgabe io = new EinUndAusgabe();
		String[][] werte = {{"Mo","Jo","USA"}
		                   ,{"Luc","Lack","FRA"}};
		for(String[] stud:werte){
			for(String dat:stud){
				io.ausgeben(dat+" ");
			}
			io.ausgeben("\n");
		}
	}
	
	public void mehrdimensional2(){
		EinUndAusgabe io = new EinUndAusgabe();
		String[][][] all = { {{"Mo","Jo","USA", "NY"}
                             ,{"Luc","Lack","FRA"}}
                            ,{{"Sue","Wue","PRC"}
                             ,{"Sam","Fox","GB", "ENG"}}};
		for(String[][] sem:all){
			for(String[] stud:sem){
				for(String dat:stud){
					io.ausgeben(dat+" ");
				}
				io.ausgeben("\n");
			}
			io.ausgeben("*****\n");
		}
	}
	
	public static void main(String[] s){
		Analyse ana = new Analyse();
		//ana.initialisieren();
		//ana.zeigeTipps(3);
		//ana.haeufigkeiten(2000000);
		ana.mehrdimensional2();
		
	}

}
