G
Guest
Gast
Ich habe folgende Klasse geschrieben die auch funkioniert :
Was ich nun allerdings möchte der Übersichthablber ist das die switch cases zum Beispiel case 5: in einer Funkion ausgelagert wird das ich also nur noch die Funkion im case 5 aufrufe. Allerdings weiß ich nicht genau wie ich die Methode schreiebn soll damit ich sie aufrufen kann kann mir da jemand helfen.
Code:
public static void main(String[] args) {
// Objects construction
Point point=new Point("Punkt",10,20,30,40);
Linie linie=new Linie("Linie",20,5,10);
Sphere sphere=new Sphere("Kugel",30,3,1,"gelb");
Triangle triangle=new Triangle("Dreieck",40,50,-25,-40,"pink");
// Consctrucion of an ArrayList
ArrayList c = new ArrayList();
c.add(point);
c.add(linie);
c.add(sphere);
c.add(triangle);
boolean ende=false;
// Printing of the "Objektverwaltung" with Switch Construct
System.out.println("Die Objekteverwaltung von Grafiken");
System.out.println("=================================="+
"==================================");
System.out.println("\nHauptmenue");
System.out.println("\n(1) Neues Objekte hinzufuegen");
System.out.println("(2) Objekte anzeigen");
System.out.println("(3) Objekte suchen");
System.out.println("(4) Objekt loeschen");
System.out.println("(5) Objekte filtern");
System.out.println("\n(0) Programm beenden");
try{
System.out.println("\nAuswahl: ");
Scanner eingabe=new Scanner(System.in);
int auswahl=eingabe.nextInt();
switch(auswahl){
// Fall 1 Legt neues Objekt an
case 1: System.out.println("\nNeues Objekt anlegen");
String b;
try{
// Serialisiert Objekt und legt ArrayList und Eingabe in Datei
FileOutputStream fos = new FileOutputStream("test.txt");
ObjectOutputStream oos = new ObjectOutputStream(fos);
/* InputStreamReader in=new InputStreamReader(System.in);
BufferedReader puffer=new BufferedReader(in);
b=puffer.readLine();
if(b!="Exit"){
oos.writeObject(b);
System.out.println("Liste enthält vorher "+c.size()+" Elemente");
// fügt Eingabe in ArrayList
c.add(b);
System.out.println("Neues Element angelegt jetzt "+c.size()+" Elemente");
*/
// Schreibt ArrayList in Datei
oos.writeObject((ArrayList) c);
System.out.println(c);
System.out.println("ArrayList wurde in Datei gespeichert");
oos.close();
}
catch(IOException e){
e.printStackTrace();
}
break;
// Fall 2 Liest aus ArrayList
case 2: System.out.println("Objekte anzeigen");
String daten;
try{
FileInputStream in=new FileInputStream("test.txt");
ObjectInputStream in1=new ObjectInputStream(in);
// String auslesen
/* FileReader read1=new FileReader("C:\\test.txt");
BufferedReader read=new BufferedReader(read1);
daten=read.readLine();
System.out.println(daten.toString());
read.close();
*/
c=(ArrayList)in1.readObject();
System.out.println(c.toString());
in1.close();
}
catch(FileNotFoundException e){
System.out.println("Datei nicht gefunden");
}
break;
// Fall 3 Objekt anhand ID suchen
case 3: Iterator it1=c.iterator();
while(it1.hasNext()){
it1.next();
if(sphere.getID()==30){
c.remove(sphere);
System.out.println("Das Objekt " +sphere+" wurde gefunden");
}
else{
System.out.println("Das Objekt mit der ID wurde nicht gefunden");
}
}
break;
// Fall 4 Objekte Anhand ID in der ArrayList löschen
case 4:
Iterator it=c.iterator();
while (it.hasNext()){
Object o=it.next();
if(point.getID()==10){
c.remove(o);
System.out.println("Objekt mit der ID "+point.getID()+" wurde gelöscht,"
+" Restlist ist:"+c);
}
else{
c.remove(o);
System.out.println("Das Objekt mit der ID wurde nicht gefunden");
}
}
break;
// Fall 5 Objekte nach Namen filtern
case 5: Iterator it2=c.iterator();
while(it2.hasNext()){
Object o=it2.next();
if(c.contains(linie)){
c.remove(o);
System.out.println("Die Liste enthält ein "+c.get(0));
}
else{
System.out.println("Das Objekt ist nicht vorhanden");
}
}
// Fall 0 Exit Program
case 0: System.out.println("\nProgramm wurde beendet");
ende=true;
break;
default: System.out.println("\nEingabe existiert nicht");
}}
catch(Exception e){
System.out.println("");
}
}}