switch-case und array

Status
Nicht offen für weitere Antworten.

m34

Aktives Mitglied
hallo,

ich habe in der hauptklasse eine switch-case-konstruktion. in einem case habe ich einen statischen array eingebaut. damit die hauptklasse schlanker wird, möchte ich diesen in eine andere klasse kopieren und diese array-liste mit einem befehl in den entsprechenden case einfügen. geht das?

vielen dank
m34
 
es muss eine Operation
setArray(Array array) {
..
}

zur Verfügung stehen,
dann ist der Befehl leicht:

object.setArray(array);
 
so, hab nun diesen codeabschnitt von dem einen case der switch-konstruktion in die entsprechende klasse Kultfilme.java kopiert. wie muss ich diesen abschnitt nun "verpacken"? mit

setKultfilme(Kultfilme kultfilme) {
..
}

und in case: dann Kultfilme.setKultfilme(kultfilme); einfügen?

habs versucht, bekomme aber irgendwie fehlermeldungen. muss ich den konstruktor in der klasse Kultfilme evtl. löschen?

Code:
	  	int zahl2 = 0; 											
	  	String eingabe2 = null; 							
	  	Scanner buffy2 = new Scanner(System.in);   			         	  
	  	
	  	Kultfilme[] kultfilme = new Kultfilme[4]; 		{	
	    kultfilme[0] = new Kultfilme((String) "Forrest Gump", (String) "Komödie", (String) "142 min", (int) 3, (boolean) true); 
	    kultfilme[1] = new Kultfilme((String) "The Godfather", (String) "Mafia-Film", (String) "180 min", (int) 4, (boolean) false);      
	    kultfilme[2] = new Kultfilme((String) "Schindlers Liste", (String) "Drama", (String) "168 min", (int) 2, (boolean) true);  
	    kultfilme[3] = new Kultfilme((String) "Back to the Future", (String) "Science Fiction", (String) "127 min", (int) 5, (boolean) false);               
	  	kultfilme[0].anzeigen();							

	  	System.out.println("Nächstes Auto <n> - vorheriges Auto <v> - Hauptmenu <m>"); 
          while (!"m".equals(eingabe2 = buffy2.next())) 	
          { 													
              if (eingabe2.equalsIgnoreCase("n")) { 			
                  zahl2++; 										
              } 											
              
              if (eingabe2.equalsIgnoreCase("v")) { 			
                  zahl2--;                					
              }													

              if (eingabe2.equalsIgnoreCase("j")) { 			
                  System.out.println("Das war eine gute Wahl - Wir brauchen nun nur noch Ihre Daten: \n");	// Wenn Eingabe gleich j, dann diese Ausgabe.           
         		
                  System.out.print("Name: "); 				
                  String name = buffy2.next();     				
   		
                  System.out.print("PLZ:\t\t ");         		
           	      String plz = buffy2.next();				
                 
           	      System.out.print("Leihdauer:\t ");         	
           	      String dauer = buffy2.next();					
            		
           	      System.out.println						
            	  ("\nIhre eingegebenen Daten:\n-------------------------" +
            	  "\nName:\t\t\t" + name + 
            	  "\nPLZ:\t\t\t" 	+ plz  + 
            	  "\nLeihgebühr/Tag:\t\t" + kultfilme[zahl2].leihgebuehr + " EUR/Tag");

             	  int dauer2 = Integer.parseInt(dauer);			// 
             	  System.out.println("Leihkosten: \t\t" + dauer2 * kultfilme[zahl2].leihgebuehr + " EUR");   		
            	   
            	  System.out.println("\n\nSind diese Eingaben richtig? " +
            			  				"Falls nicht, so drücken Sie bitte <n>?\n" +
            			  				"Andernfalls bedanken wir uns für Ihre Bestellung. " +
            	  						"Wir werden den Wagen zum genannten Termin liefern.");  
            	  break;									
              }          
              
              if (zahl2 >= kultfilme.length) 						
              { 												
                  System.out.println("Ende der Daten erreicht");
                  zahl2--; 										
              }												
              
              else if (zahl2 < 0) 								
              { 												
                System.out.println("Anfang der Daten erreicht");
                  zahl2++;										
              }														
              
              else 											
              { 											
           	   kultfilme[zahl2].anzeigen();        	 		
              }
 
haa, ist ja geil. habs geschafft.

also verpackt habe ich es mit

public void setKultfilme() {

und eingefügt mit test.setKultfilme();

davor musste ich allerdings noch ein neues objekt Kultfilme

erzeugen, mit: Kultfilme test = new Kultfilme();

*freu*

edit: achja, nach löschen des konstruktors kamen nur viele fehlermeldungen. ahbs dann nicht mehr angerührt.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben