1 h) Übungsaufgaben

Java-Programme

Von der Konsole aus

Aufgabe 1

Kompiliere die Dateien Baufirma_1.java und Baufirma_4.java von der Konsole aus. Wie viele Klassen erhältst du und warum?
Material: Quelltexte

Lösung Aufg 01


Aufgabe 2

Führe folgende Programme von der Konsole aus: Baufirma_1 und Baufirma_4.
Material: Programme

Lösung Aufg 02

Aufgabe 3

Thomas hat endlich das JDK von Sun installiert und will mit Java loslegen.
a)Er will sein erstes Programm uebung.java kompilieren. Auf der Konsole gibt er ein:

javac uebung.java

Er erhält die Meldung: Befehl oder Dateiname nicht gefunden

b) Nachdem er mit deiner Hilfe das Problem a) gelöst hat stellt er fest, dass bei ihm der Befehl java nur mit der Option -cp . funktioniert. Wie kann er Abhilfe schaffen?

Aufgabe 4

class JavaLernen{ }

a) Kann die Klasse kompiliert werden? Begründung

b) Kann die Klasse ausgeführt werden?




Interaktion

Argumente übergeben

Erstelle folgende Programme:

Aufgabe 1

Hallo
Du übergibst dem Programm einen Vor- und einen Nachnamen.
Das Programm begrüßt dich dann sehr nett.

Lösung Aufg 03


Aufgabe 2

Addierer Du übergibst drei ganze Zahlen, die das Programm addiert.

Lösung Aufg 04



Eingabe über die Tastatur

Erstelle folgende Programme:

Aufgabe 3

Hallo2
Das Programm fragt nach deinem Vor- und Nachnamen.
Anschließend begrüßt es dich sehr nett.

Lösung Aufg 03


Aufgabe 4

Addierer2 Das Programm fragt drei ganze Zahlen ab und addiert sie.

Lösung Aufg 04



Klassen-Objekte

Zuchtprogramm

Du bist erfolgreiche/r Biolog(e/in) und wagst dich an neuartige DNA Experimente heran:

Aufgabe 1

Erstelle einen Bauplan für eine neue Hunderasse Igsler mit folgenden Eigenschaften und Fähigkeiten:

  • HundeNamen
  • Verhalten
  • Belllaut
  • Gewicht (als Zahl)
  • belle
  • geheEinkaufen

Jede der Eigenschaften kannst du ändern und abfragen.
Hierzu nutzt du schon den neu gelernten getter und setter Ansatz.

Lösung Aufg 01




Aufgabe 2

Züchte einen Hund. Nenne ihn Daisy.

  • Weise jedem deiner Hunde ein Gewicht und ein bestimmtes Verhalten zu
  • Die Zuweisung soll folgendermaßen erfolgen:
    Verhalten, Namen und Belllaut als Tastatureingabe.
    Gewicht als Argument

Lösung Aufg 02



Aufgabe 3

Ein Hund soll verkauft werden.
Zeige dem neuen Besitzer, wie er mit dem Hund umgehen kann.

So könnte ein Verkaufsgespräch aussehen:

Beispiel Aufg 03


Ausblick für Version zwei deiner neuen Rasse:

  • Schon beim „Herstellen“ eines Vierbeiners soll dieser mit bestimmten Standard Eigenschaften automatisch belegt werden.
  • Es müsste noch sichergestellt werden, dass deine Exemplare auch bei unsachgemäßer Behandlung noch funktionieren.



Aufgabe 4

Schreibe eine Klasse zum Verwalten von Personen. Es soll den Vornamen, den Nachnamen und das Alter verwalten und die Angaben zu einer Person ausgeben können.

a) Wie könnte der Plan dieser Klasse aussehen?

b) Schreibe ein Programm, dass diese Klasse nutzt. Alle Angaben sollen über die Tastatur eingegeben werden können.

c) Gib zwei Datensätze ein und lass dir den ersten ausgeben.

5. Erstelle ein Programm Addition, das zwei ganze Zahlen addiert. Diese werden beim Programmaufruf übergeben.
Die Ausgabe soll wie folgt aussehen: Das Ergebnis der Addition 7+8 lautet: 15


Zugriffsmodifizierer

Aufgabe 1

Was versteht man in Java unter Kapselung. Gib ein Beispiel.

Aufgabe 2

Du hast folgende Klasse entwickelt und verkaufst sie an Kunden.

public class KoerperGewicht{
   int gewicht=0;
 
   public void welchesGewicht(){
      System.out.println(this.gewicht+" kg");
   }
}


Kunde A nutzt sie wie folgt und ist voll zufrieden.

public class Meier {
 
   public static void main(String[] args) {
     KoerperGewicht peter=new KoerperGewicht();
     peter.gewicht=15;
     peter.welchesGewicht();
   }
}


Kunde B wiegt 80kg. Er beschwert sich bei dir, dass er zu schwer sei.
Seine Falscheingabe hat er nicht bemerkt.

public class Mueller {
 
   public static void main(String[] args) {
    KoerperGewicht hans=new KoerperGewicht();
    hans.gewicht=800;
    hans.welchesGewicht();
   }
}

a) Wie kannst du verhindern, dass direkt auf die Variablen zugegriffen wird?
b) Ändere dein Programm so ab, dass Kund B auf seine mögliche Falscheingabe hingewiesen wird.



Pakete

Aufgabe1

Die erste Zeile einer Java Klasse lautet:

package welpen;


  • Was bedeutet das?
  • Wie führst du dieses Programm von der Konsole aus?



Aufgabe 2

package welpen;
 
class Hund {
 public Hund(){
   System.out.println("Soeben wurde ein Hund gezuechtet");
 }
}
class Zuechter {
 public static void main (String[] args){
   Hund fiffi = new Hund();
 }
}

Beide Dateien befinden sich im Unterordner welpen.
Finde und korrigiere den Fehler.




Variablen

Aufgabe1

Erkläre die Begriffe Instanzvariable und Klassenvariable

Aufgabe2

public class Uebung{
 static int zaehler1=0;
 int zaehler2=0;
 
  public Uebung(){
    zaehler1++;
    zaehler2++;
 
   System.out.println("zaehler1: "+this.zaehler1+"; zaehler2: "+this.zaehler2);
 
  }
 
}
 
public class Firma{
    public static void main(String[] args) {
        Uebung eins =new Uebung();
        Uebung zwei =new Uebung();
        Uebung drei =new Uebung();
        Uebung vier =new Uebung();
   }
}

Wie sieht die Ausgabe aus und warum?


Konstruktoren

Aufgabe 1

Schreibe ein Klasse mit folgender Funktionalität:

  • sie baut Quadrate mit der Seitenlänge 10cm.
  • Jedes mal, wenn ein Quadrat erstellt wird, erfolgt automatisch die Ausgabe: Quadrat erstellt


Aufgabe 2

Eine Klasse foo.class besitzt die Klassenvariable zaehler und die Klassenmethode ausgabe. Wie erreichst du, dass der Zähler beim Erstelle einer Instanz um eins hochgezählt und die Klassenmethode ausgabe ausgeführt wird?


Sonstiges

Folgender Code habe ich im www gefunden:

public class zahlensysteme {
 
public static void main (String args[]) {		
 
long zahl=44;
System.out.println("Zehner: "+zahl);
System.out.println("Binär: "+Long.toBinaryString(zahl));
System.out.println("Octal: "+Long.toOctalString(zahl));
System.out.println("Hexadezimal: "+Long.toHexString(zahl));
 
System.out.println("rückwärts");
System.out.println(Long.valueOf("101100",2)); //Binär
System.out.println(Long.valueOf("54",8)); //Oktal
System.out.println(Long.valueOf("2C",16)); //HEX
	}
}

Hier einige Aufgaben dazu:
Nutze die API (http://java.sun.com/javase/6/docs/api/index.html) dazu, um herauszufinden, ob und wie du long durch int ersetzen kannst.
Erstelle sechs Umrechenprogramm mit folgenden Fähigkeiten:

  • Hex → Dez
  • Oct → Dez
  • Bin → Dez
  • und umgekehrt


Wie du siehst ist das alles sehr aufwendig.
Als Sternchenaufgabe könntest du eine Applikation entwickeln,
die alle sechs Fälle abdeckt.

Z.B.

Von welchem Zahlensystem soll ich umrechnen?
Gib die Zahl ein:

In welches Zahlensystem soll ich umrechnen?

Das Ergebnis lautet:

Hier mein Vorschlag:
umrechner.class Fehleingaben werden nicht abgefangen.
Beachte, dass du die Datei umbenennen musst. Der Anfangsbuchstabe muss groß geschrieben werden.
Dokuwiki lässt keine Großbuchstaben zu.



Startseite > Programmieren > Java > Grundlagen > Übungsaufgaben

programmieren/java/grundlagen/uebungen.txt · Zuletzt geändert: 10.11.2014 16:46 (Externe Bearbeitung)
CC Attribution-Noncommercial-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0