Hab 45 min mit IntelliJ gebraucht.
public abstract class Werkzeug { private String art; protected int verschleiss = 0; // {0 <= verschleiss <= 100 } public Werkzeug(String art, int verschleiss){ this.art=art; this.verschleiss=verschleiss; } public abstract void ausgeben(); }
public class Bohrer extends Werkzeug{ private int groesse; public Bohrer(String art, int verschleiss, int groesse){ super(art,verschleiss); this.groesse=groesse; } @Override public void ausgeben() { System.out.println("Bohrer mit Groesse "+groesse+" Verschleiss "+verschleiss+"%"); } }
public class Industrieroboter { private static final int maxWerkzeuge = 10; // {readonly} private Werkzeug[] werkzeugKasten = new Werkzeug[maxWerkzeuge]; public Industrieroboter(){ } public boolean werkzeugHinzufuegen(int platz, Werkzeug neu){ if(platz<0 || platz>= maxWerkzeuge){ System.out.println("Platz existiert nicht: "+platz); return false; } if(werkzeugKasten[platz]!=null){ System.out.println("Platz ist schon belegt: "+platz); return false; } werkzeugKasten[platz]=neu; System.out.print("Werkzeug auf Platz "+platz+" hinzugefügt: "); neu.ausgeben(); return true; } public boolean werkzeugEntfernen(int platz){ if(platz<0 || platz>= maxWerkzeuge){ System.out.println("Platz existiert nicht: "+platz); return false; } if(werkzeugKasten[platz]==null){ System.out.println("Kein Werkzeug am Platz: "+platz); return false; } System.out.print("Entferntes Werkzeug von Platz "+platz+" "); werkzeugKasten[platz].ausgeben(); werkzeugKasten[platz]=null; return true; } }
public class Test { public static void main(String[] args) { Bohrer b1 = new Bohrer("Metallbohrer",0,10); Bohrer b2 = new Bohrer("Holzbohrer",0,10); Industrieroboter r = new Industrieroboter(); r.werkzeugHinzufuegen(5,b1); r.werkzeugHinzufuegen(5,b2); r.werkzeugHinzufuegen(10,b2); r.werkzeugHinzufuegen(-1,b2); r.werkzeugEntfernen(5); r.werkzeugEntfernen(5); r.werkzeugEntfernen(10); r.werkzeugEntfernen(-1); } }
IntelliJ-Projekt: [Industrieroboter.zip]