MezData-Logo

Lösung 2018-So-FIA-A1

Industrieroboter

Hab 45 min mit IntelliJ gebraucht.

Quellcode [Industrieroboter/src/Werkzeug.java]
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();
}
Quellcode [Industrieroboter/src/Bohrer.java]
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+"%");
  }
}
Quellcode [Industrieroboter/src/Industrieroboter.java]
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;
  }
}
 
Quellcode [Industrieroboter/src/Test.java]
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]