Erste Schritte BlueJ-Aufgabe: Programmcode / Brauche dringend Hilfe !!!

snow_white

Mitglied
Halloo an alle,
Ich muss eine Aufgabe bezüglich der Java-Programmierung in BlueJ erledigen, jedoch habe ich wirklich absolut keinen Plan wie ich an die Sache rangehen sollte und bin gerade so ziemlich am verzweifeln deswegen. 🙁
Ich brauche wirklich seehr dringend Hilfe dabei.
Bitte sagt mir was ich in BlueJ schreiben muss, sonst sitz ich hier noch stundenlang herum und schmolle mir meine Lippen weg vor lauter Verzweiflung.
Ich würde mich über Lösungen wirklich sehr freuen, die ich dann versuchen werde, nachzuvollziehen.
Ich stelle das Aufgabenblatt als Link bei und bitte bitte bitte antwortet mir das wäre wirklich seehr nett.
Schon mal danke im Voraus an alle EDV-Spezialisten.

Hier das Arbeitsblatt:
318178_357030834359681_100001583024589_972978_1570276834_n.jpg
 
Kostenlös eine Lösung wird dir hier niemand hinzaubern, dafür gibt es die Jobbörse.

Ihr habt im Unterricht sicherlich einiges zu dem Thema durchgenommen und auf dem Blatt sind ja auch schon ein paar brauchbare Stellen unterstrichen.

Zeig uns doch erstmal was genau deine Ansätze sind, wie du anfangen würdest und wo konkret du nicht weiterkommst.

Gruß
 
mein Ansatz ist dieser...? Kann das stimmen?? Ist das in der Aufgabe gefragt?

a)
Java:
 Public class Flugzeuge

{
private int Nummer;
private String Typ;
private int Passagiere;
private double Geschwindigkeit;
private int Kerosin;
}

public Flugzeuge ()
{

}

public void setNummer(Int pNummer)
{
Nummer = pNummer;
}

public void setTyp(String pTyp)
{
Typ = pTyp;
}

public void setPassagiere(Int pPassagiere)
{
Passagiere =pPassagiere;
}

public void setGeschwindigkeit(double pGeschwindigkeit)
{
Geschwindigkeit=pGeschwindigkeit;
}

public void setKerosin(int pKerosin)
{
Kerosin=pKerosin;
}

public void getNummer (int pNummer)
{
Nummer = pNummer;
}

public int getNummer()
{
return Nummer;
}

public String getTyp()
{
return Typ;
}

public int getPassagiere()
{
return Passagiere;
}

public double getGeschwindigkeit()
{
return Geschwindigkeit;
}

public int getKerosin()
{
return Kerosin;
}
}
-------------------------------------------------
Java:
b)
public class 1 extends Flugzeuge

{
public int Kerosin;
public int Erhoehung;

public void setKerosin(int pKerosin)
{
Kerosin=pKerosin
}

Public void setErhoehung(int pErhoehung)
{
Erhoehung = pErhoehung;
}

public int getKerosin ()
{
return Kerosin;
}

public int getErhoehung ()
{
return Erhoehung;
}

public int getberechne Erhoehungszahl
{ 
return Kerosin + Erhoehung;
}
}
 
Zuletzt bearbeitet:
1) Herzlich wilkommen!
2) SO spielen wir hier nicht.
Du musst dich schon aufraffen mal irgendein Tutorial zu suchen und durchzuarbeiten
3) wir machen keine fertigen Hausübungen, sondern geben nur Tips aus denen man lernen kann.
Mein Tipp: fang mit nem einfache Tutorial an.
4) Wenn du nicht selbst lernen willst, dann such die ein anderes Hobby, andere Ausbildung, anderen Job,
5) Entferne das "Brauche dringend Hilfe" aus dem Titel. Das braucht hier jeder, (sonst würde er nicht posten) und wirkt nur unsympatisch egositisch.
6) Melde dich wieder, wenn du was erabeitet hast, und eine konkrete Frage hast.
7) verwende Formatier-Tags und stell Konkrete Fragen, nachdem du beschreibst was nicht funktioniert.
(Wenn alles funktioniert, dann hast du ja keine Fragen oder?)
8) Herzlich willkommen!
 
1) Herzlich wilkommen!
2) SO spielen wir hier nicht.
Du musst dich schon aufraffen mal irgendein Tutorial zu suchen und durchzuarbeiten
3) wir machen keine fertigen Hausübungen, sondern geben nur Tips aus denen man lernen kann.
Mein Tipp: fang mit nem einfache Tutorial an.
4) Wenn du nicht selbst lernen willst, dann such die ein anderes Hobby, andere Ausbildung, anderen Job,
5) Entferne das "Brauche dringend Hilfe" aus dem Titel. Das braucht hier jeder, (sonst würde er nicht posten) und wirkt nur unsympatisch egositisch.
6) Melde dich wieder, wenn du was erabeitet hast, und eine konkrete Frage hast.
7) verwende Formatier-Tags und stell Konkrete Fragen, nachdem du beschreibst was nicht funktioniert.
(Wenn alles funktioniert, dann hast du ja keine Fragen oder?)
8) Herzlich willkommen!

Ich habe mir schon Tutorials angeschaut und mir auch was selbst erarbeitet, wie man sieht....!!!
 
sowas hab ich am TGM gemacht (HTL in Wien). auch in BlueJ. das waren Zeiten 😉

Sag einfach wo du Probleme hast ich schreibe dir keine Aufgaben gebe dir nur Hilfestellungen 😉


Lg

Rene
 
Lesen bildet.... aber wir wolllen ja nicht mal so sein:

JAVA QUELLTEXT IST BITTE IN
Java:
- TAGS ZU SCHREIBEN[/COLOR][/U][/I][/B][/SIZE]

und wenn du willst dass ich es dir mache, dann per pn den rest..
 
Ich habe mir schon Tutorials angeschaut und mir auch was selbst erarbeitet, wie man sieht....!!!
Das ist gut so.


Dann bitte noch Tags verwenden,
Titel anpassen
eine konkrete Frage formulieren,
und beschreiben was nicht funktioniert.
Wenn alles funktioniert wie du willst, dann gibts ja keine Fragen mehr.

Im Prinzip schaut dein Code nicht schlecht aus.

Deinen Lehrer kannst du sagen, dass ErzeugeFlugzeug vermutlich keine Klasse sein soll, sondern eine Methode der Klasse Flugzeug. Methoden schreibt man mit kleinem Anfangsbuchstaben, als Klasse ist der Name (beginnend mit Verb) äußerst schlecht gewählt.
(Höchstwahrscheinlich sollte es sowas wie ein Konstruktor sein, der dann anders heißen muss.)
 
Hey!

Ja doofer Name; ist ein Übungsbeispiel, aber das ist die Testklasse die nennt sich ErzeugeFlugzeug.
Würde doch viel mehr Sinn machen 😉

lg

Rene
 
Hi

Dein Ansatz ist gar nicht so verkehrt.
Habs mir nicht richtig angeguckt weil das ohne
Java:
-Tags blöd zu lesen ist. Kannst den Beitrag ja mal bearbeiten und einfach ein [JAVA"] ohne " und ein [/JAVA"] auch ohne " um deinen Code machen. Was mir aber aufgefallen ist: Bezeichner klein!
Und ich würde glaube ich auch für die Zahlenwerte und Geschwindigkeitswerte Strings nehmen, da es ja eigentlich nicht um die Zahlen an sich geht, mit denen du rechnest sondern um genauso Attribute wie Namen.
 
ich kenne blue j persönlich nicht, deswegen kann ich dir da auch nicht weiterhelfen, aber werden da einem die fehler nicht angezeigt? und wenn das WIRKLICH dringend ist, dann würde ich dir empfehlen das programmieren zu lassen und sich nicht mit den basics auseinander zu setzen... das kann man nachher immernoch... ansonsten ein gutes tut:

TUTORIAL
 
ok also da du ja den weg mit der hilfe gewählt hast:

1. public/return schreibt man klein
2. variablen auch
3. int, double usw auch (außer String)

4. gar nicht schlecht aber dein programm macht ja noch gar nichts...
5. ich würde in deinen konstrukter flugzeug die attribute String name, usw (siehe aufgabe) machen
Java:
public Flugzeuge(String name,.....)
{ 
}
6. ich würde nur zwei klassen machen :flugzeuge (das war schon richtig) und dann eine klasse Main, da muss dann die public static void main(String[]args){} rein und da würde ich dann zwei neue Flugzeuge objekte machen... Flugzeug flugzeug1=new Flugzeug("BOING", ....);
7. in der flugzeug class eine methode 'ausgeben' die die attribute dann ausgibt....

also im prinzib so was :

Java:
class Flugzeug
{
      String name;
      int kerosin;
      int ..... ;

     //GETTER UND SETTER UND SO WAS ALLES
     public Flugzeug(String name, int kerosin..., int ... )
     {
      this.name=name;
      this.kerosin=kerosin;
     }
     public void printAll()
     {
      System.out.println("NAME DES FLUGZEUGS:" +name);
      .......
      }
}

Java:
class Main
{
    public static void main(String[]args)
    {
       Flugzeug flugzeug1=new Flugzeug("boing", 1000, ....);
       flugzeug1.printAll(); //alles wird ausgegeben
    }
}
 
Zuletzt bearbeitet:
Java:
public class Flugzeuge {

    private String nummer;
    private String typ;
    private String passagiere;
    private String geschwindigkeit;
    private String kerosin;

    public Flugzeuge(String nummer, String typ, String passagiere, String geschwindigkeit, String kerosin) {
        this.nummer = nummer;
        this.typ = typ;
        this.passagiere = passagiere;
        this.geschwindigkeit = geschwindigkeit;
        this.kerosin = kerosin;
    }

    public void setNummer(String pNummer) {
        this.nummer = pNummer;
    }

    public void setTyp(String pTyp) {
        this.typ = pTyp;
    }

    public void setPassagiere(String pPassagiere) {
        this.passagiere = pPassagiere;
    }

    public void setGeschwindigkeit(String pGeschwindigkeit) {
        this.geschwindigkeit = pGeschwindigkeit;
    }

    public void setKerosin(String pKerosin) {
        this.kerosin = pKerosin;
    }

    public void getNummer(String pNummer) {
        this.nummer = pNummer;
    }

    public String getNummer() {
        return nummer;
    }

    public String getTyp() {
        return typ;
    }

    public String getPassagiere() {
        return passagiere;
    }

    public String getGeschwindigkeit() {
        return geschwindigkeit;
    }

    public String getKerosin() {
        return kerosin;
    }
}

Das ist schonmal Teil 1)
 
{
}[/code]
6. ich würde nur zwei klassen machen :flugzeuge (das war schon richtig) und dann eine klasse Main, da muss dann die public static void main(String[]args){} rein und da würde ich dann zwei neue Flugzeuge objekte machen... Flugzeug flugzeug1=new Flugzeug("BOING", ....);
7. in der flugzeug class eine methode 'ausgeben' die die attribute dann ausgibt....[/QUOTE]

das wundert mich jetzt, weil wir das in Schule noch nie gemacht haben.. geht es auch ohne?
 
{
}[/code]
6. ich würde nur zwei klassen machen :flugzeuge (das war schon richtig) und dann eine klasse Main, da muss dann die public static void main(String[]args){} rein und da würde ich dann zwei neue Flugzeuge objekte machen... Flugzeug flugzeug1=new Flugzeug("BOING", ....);
7. in der flugzeug class eine methode 'ausgeben' die die attribute dann ausgibt....
das wundert mich jetzt, weil wir das in Schule noch nie gemacht haben.. geht es auch ohne?

naja klar geht das... nur das ist dann seeeehr unübersichtlich und nicht wirklich OOP....

der rest siehe mein edit...
 
Java:
public class Flugzeuge {

    private String nummer;
    private String typ;
    private String passagiere;
    private String geschwindigkeit;
    private int kerosin;

    public Flugzeuge(String nummer, String typ, String passagiere, String geschwindigkeit, int kerosin) {
        this.nummer = nummer;
        this.typ = typ;
        this.passagiere = passagiere;
        this.geschwindigkeit = geschwindigkeit;
        this.kerosin = kerosin;
    }

    public void setNummer(String pNummer) {
        this.nummer = pNummer;
    }

    public void setTyp(String pTyp) {
        this.typ = pTyp;
    }

    public void setPassagiere(String pPassagiere) {
        this.passagiere = pPassagiere;
    }

    public void setGeschwindigkeit(String pGeschwindigkeit) {
        this.geschwindigkeit = pGeschwindigkeit;
    }

    public void setKerosin(int pKerosin) {
        this.kerosin = pKerosin;
    }

    public void getNummer(String pNummer) {
        this.nummer = pNummer;
    }

    public String getNummer() {
        return nummer;
    }

    public String getTyp() {
        return typ;
    }

    public String getPassagiere() {
        return passagiere;
    }

    public String getGeschwindigkeit() {
        return geschwindigkeit;
    }

    public int getKerosin() {
        return kerosin;
    }
}

Java:
import java.lang.String;
import java.util.Scanner;

public class ErzeugeFlugzeug {
    Flugzeuge f;
    public ErzeugeFlugzeug(String nummer, String typ, String passagiere, String geschwindigkeit, int kerosin) {
        this.f = new Flugzeuge(nummer, typ, passagiere, geschwindigkeit, kerosin);
    }
    public void setErhoehung(int a) {
        int b = f.getKerosin();
        b = b+a;
        f.setKerosin(b);
    }
}

Bei BlueJ keine main Methode 😉. Man ruft die Methoden da in der Oberfläche auf, also war bei uns so^^.
this. bedeutet, dass die Klasseneigenen Attribute zugegriffen wird, weiß nichtmal ob sie hier nötig sind. Habe mir das nur angewöhnt immer zu benutzen 😉.
 
Bei BlueJ keine main Methode 😉. Man ruft die Methoden da in der Oberfläche auf, also war bei uns so^^.
this. bedeutet, dass die Klasseneigenen Attribute zugegriffen wird, weiß nichtmal ob sie hier nötig sind. Habe mir das nur angewöhnt immer zu benutzen 😉.

vllt sollte ich mir das auch mal angucken, nur um mitreden zu können ^^ bin mit eclipse aber ganz zufrieden 😉
 
Bei BlueJ keine main Methode 😉. Man ruft die Methoden da in der Oberfläche auf, also war bei uns so^^.
this. bedeutet, dass die Klasseneigenen Attribute zugegriffen wird, weiß nichtmal ob sie hier nötig sind. Habe mir das nur angewöhnt immer zu benutzen 😉.[/QUOTE]

Herzliches Dankeschön!!! Kann man die "this" einfach weg lassen?
 
Hey!

Snow_White. kann man dann muss man aber die Parameter die im Konstruktor übergeben werden anders nennen sonst weiß der Compiler nicht welchen Wert du welcher Variable zuweißt 😉

this.variable dient zu orintierung damit der Konstruktor weiß hey das wird ja in das Attribut geschrieben 😉


lg

Rene
 
6. ich würde nur zwei klassen machen :flugzeuge (das war schon richtig) und dann eine klasse Main, da muss dann die public static void main(String[]args){} rein und da würde ich dann zwei neue Flugzeuge objekte machen... Flugzeug flugzeug1=new Flugzeug("BOING", ....);
7. in der flugzeug class eine methode 'ausgeben' die die attribute dann ausgibt....

das wundert mich jetzt, weil wir das in Schule noch nie gemacht haben.. geht es auch ohne?

Das wundert jeden der mit BlueJ anfangt und danach plötzlich Java kennenlernt,
weil das genau der wesentliche Punkt ist in dem sich Java von BlueJ unterscheidet!
BlueJ ist genau deshalb nicht wirklich geeignet Java zu lernen.
Aber ohne main() gibts kein Java Programm, und das wird in BlueJ immer unterschlagen.
Es ist nur anfangs in BlueJ einfacher, Klassen zu erstellen und Zusammenhänge darzustellen, und in Java "reinzuschnuppern".
Später kommt die "Ernüchterung" das BlueJ eigentlich seltsam ist.

PS: Dringende Erinnerung:
Code:
ErzeugeFlugzeug
darf nie eine Klasse sein!! Klassen sind (physikalische) Objekte/Gegenstände und Methoden sind die Tätigkeiten die mit diesen Objekten passieren oder getan werden können.
Deshalb "Flugzeug" ist ein sinnvolles Objekt und "erzeugeFlugzeug" muss unbedingt eine Methode sein.
Natürlich kümmert den Compiler nicht was du wie benennst, aber wenn du das nicht von Anfang an klar unterscheidest, wirst du nie ganz "spüren" wie ein Programm funktioniert!
Besprich das mal mit deinem Lehrer, wenn er euch wirklich programmieren beibringen will.
 
Also BlueJ ist eher ein Zusammenklicken von Oberflächen und hat keine gute automatische Formatierung.
Für den Einstieg glaube ich ist es eine gute Möglichkeit das Prinzip zu verstehen, wobei ich da doch etwas wie den Hamstersimulator besser finde.

Aus meiner Erfahrung sind dei Schüler dann nur verwirrter.

Sie sollten mit eine IDE anfangen und gleichzeitig mit dem Hamstersimulator auch arbeiten können. Der Hamstersimulator ist zwar ok aber viele sind sehr überfordert wenn man von Hamster auf IDE wechselt.
Umgekehrt eher weniger 🙂


lg

Rene

PS: @Auqa ja das ist klar mit den Objekten. Ich kann nix dafür das der Professor oder Lehrer das so anschreibt. sinnvoll is es eh nicht. 😉 das braucht man nicht wirklich weiter erklären.
 
Sie sollten mit eine IDE anfangen und gleichzeitig mit dem Hamstersimulator auch arbeiten können. Der Hamstersimulator ist zwar ok aber viele sind sehr überfordert wenn man von Hamster auf IDE wechselt.
Umgekehrt eher weniger

Eigentlich reicht es wenn der Lehrer einmal die Basics durchgeht wie java aus quellcode über den umweg des bytecodes über die jvm ein programm ausführt dann einmal kurz den aufbau eines programms mit javac und java durchgeht und nochmal kurz späße wie manifest oder packages anreißt.
Dannach weiß man dass Java nicht aus BlueJ wächst oder im grünen play-Button von Eclipse gezaubert wird und kann sich in eine vernünftige IDE wie Eclipse einarbeiten.
Die Vorarbeit ist in 2-3 Unterrichtseinheiten erledigt, das einarbeiten in Eclipse dauert auch nicht lange wenn man nur auf Schulniveau arbeitet.

Bei manchen Übungen die hier gepostet sind vermute ich aber eher es liegt am Unwissen des Lehrers, denn auch wenn man in einer Grundlagenveranstaltung keine Themen wie Clean Code, LSP oder OCP dran nehmen wird hindert niemand einen daran diese Stile nicht wenigstens so gewissenhaft wie man kann in den Aufgabenblättern vorzugeben und damit den Schülern schonmal eine gewisse Vorstellung für ordentliches Programmieren gibt.

Gruß
 
hiii,
ich hab es heute nochmal versucht die Aufgabe auf unserem Niveau zu machen, da unser Lehrer noch nie die "this"-Methode erwähnt hat. Könnt ihr mir bitte sagen, ob ich es richtig gemacht habe? Das wäre sehr, sehr nett!! 🙂

a)
Java:
public class erzeugeFlugzeuge
{
private int nummer;
private String typ;
private int passagiere;
private double geschwindigkeit;
private int kerosin;

public void setNummer(int pNummer)
{nummer = pNummer;}

public void setTyp(String pTyp)
{typ = pTyp;}

public void setPassagiere(int pPassagiere)
{passagiere = pPassagiere;}

public void setGeschwindigkeit(double pGeschwindigkeit)
{geschwindigkeit = pGeschwindigkeit;}

public void setKerosin(int pKerosin)
{kerosin = pKerosin;}

public int getNummer()
{return nummer;}

public String getTyp()
{return typ;}

public int getPassagiere()
{return passagiere;}

public double getGeschwindigkeit()
{return geschwindigkeit;}

public int getKerosin()
{return kerosin;}
}

b)
Java:
public class Flugzeug1 extends erzeugeFlugzeuge
{
private int kerosinErhoehung;
private int erhoehung;
private int kerosin;

public void setKerosinErhoehung(int pKerosinErhoehung)
{kerosinErhoehung = pKerosinErhoehung;}

public void setErhoehung(int pErhoehung)
{erhoehung = pErhoehung;}

public int erhoeheKerosin()
{return kerosin + erhoehung;}
}
 

Zurück
Oben