Bekomme das nicht hin (set / get Methoden)

Status
Nicht offen für weitere Antworten.

dj3nk

Mitglied
Hallo, ich bin neu hier und sag nun erstmal Hallo ;P
Wie kam ich hier her ? Ich habe eine Platform gesucht auf der ich Hilfe für Jave Programmierung finden kann. Ich studiere praktische Informatik im ersten Semester. Wir hatten bisher nur ein paar Vorlesungsstunden und leider konnte ich wegen Krankheit von bisher 5 Stunden nur 2 besuchen. Ich habe aber aus der Gymnasialzeit noch ein wenig programmiererfahrung mir pascal, so das mir programmieren nicht ganz fremd ist. Ich habe mich mitteln Skript und dem Buch "java2 - Grundlagen und Einführung" versucht schlauer zu machen, komme aber nicht drauf was mein Prof hier von mir will. Leider ist am Montag abgabetermin für diese Übung und ich versteh nich was der genau von mir will. Ich weiss zwar das ihr hier keine hausaufgaben löst, aber ich möchte ja das "Wissen" und nich euch meine Aufgaben machen lassen. Ich poste einfach mal die Aufgabenstellung:


1. Übung zu Programmierung 1
----------------------------
Abgabe: KW 45

1. Aufgabe
-----------
Entwerfen Sie eine Klasse Artikel für eine einfache Bestandsführung mit den
folgenden Attributen und Methoden:

Attribute:
int artikelNr Artikelnummer
String bezeichnung Artikelbezeichnung
int bestand aktueller Artikelbestand

Methoden:
void bucheZugang(int menge) Zugang aufbuchen
void bucheAbgang(int menge) Abgang abbuche
String toString() Artikel-Objekt als Zeichenkette aufbereiten

Beispielausgabe:
Artikel: 4711 Bezeichnung: Staubsauger Bestand: 100

get-Methoden zu allen Attributen
set-Methoden nur zu den Attributen, für die eine set-Methode Sinn macht.

Konstruktoren:
- Es werden Konstruktoren benötigt für das Konstruieren eines Artikel-Objekts
mit 2 oder 3 Argumenten. Warum macht ein Standardkonstruktor keinen Sinn?

Folgende Bedingungen sind zu beachten:
- Die Artikelnummer muss eine 4-stellige positive Zahl sein.
- Die Bezeichnung darf nicht null sein.
- Der Bestand darf nie kleiner als 0 werden.
- die bei bucheAbgang und bucheZugang übergebenen Werte müssen auf > 0 über-
prüft werden.

Vorgehensweise:
---------------
-> Erstellen Sie die eigentliche Klasse mit dem Entwicklungswerkzeug BlueJ
-> Zu einem professionellen Quellcode gehören natürlich sinnvolle
Kommentierungen, eine selbsterklärende Namensgebung für Attribute,
Variablen und Konstanten, sowie eine Strukturierung des Programmtextes.
-> Testen Sie ihre Klasse, indem sie reale Objekte in BlueJ erzeugen und
deren Schnittstelle bedienen.



Soll ich nun nur Konstruktoren erstellen, dessen Variable 'menge' ist und diese wird eben zu 'bestand' addiert oder subtrahiert ?! Wie kann ich unterscheiden welcher ArtikelNr ich etwas auf oder abbuche ?!?!

PLEASE HELP ! ;D

Was ich bisher "erarbeitet" habe:

Code:
/**
 * Klasse Artikel zur einfachen Bestandsführung
 * 
 * @author Andreas Jenkuhn
 * @version 0.01
 */
import de.htw.saarland.stl.Stdin;       // fuer Eingabe
public class Artikel                    // Klasse Artikel erstellen
{
   int bestand;                         // Variablen definieren
  
 public Artikel() {}                    // Standardkonstruktor

 public void bucheZugang(int menge)     // Methode zum Aufbuchen des Bestandes
 { 
    bestand = bestand + menge;
 }
 
 public void bucheAbgang(int menge)     // Methode zum Abbuchen des Bestandes
 { 
    if (bestand < menge)                // Pruefen ob Bestand kleiner 0 wird
     bestand = 0;
    else
     bestand = bestand - menge;         // ansonsten Menge abbuchen
 }

 public static void main(String[] args) // Main Methode
 {
    int artikelNr;
    System.out.println("----------------------------------");
    System.out.println("Willkommen in der Bestandsfuehrung");
    System.out.println("----------------------------------");
    System.out.println("");
    char weitermachen=' ';                      // Abfrage ob Programm wiederholt wird
    while (weitermachen != 'n')
    {
        artikelNr = Stdin.readlnInt("ArtikelNr angeben: ");
        System.out.println ("");
        System.out.println (artikelNr);
        
        System.out.print ("Weitermachen (j/n) ?  ");    // Wiederholungsabfrage
        weitermachen = Stdin.readChar();
    }
    
 }
 
 
}

Stdin ist eine Klasse zum eingeben von Werten die ich fertig von der Uni habe. Das funzt auch soweit.
 
G

Gast

Gast
Er schreibt doch extra in der Aufgabenstellung warum ein Standardkonstruktor keinen Sinn macht ;-) warum machst du dann einen hin??
Der Konstruktor soll 3 Argumente bekommen d.h. beim erstellen des Objektes werden die Variablen der Klasse direkt mit Werten belegt. Der Konstruktor könnte wie folgt aussehen:

public Artikel (int artikelNr, String bezeichnung, int bestand){
this.artikelNr = artikelNr;
this.bezeichnung = bezeichnung;
this.bestand = bestand;
}
 

dj3nk

Mitglied
Danke für deine Hilfe. Also den Standardkontruktor einfach weglassen? Ich habe zu Stanardkosntruktier folgendes gefunden:

Der Standardkonstruktor macht, wenn er verwendet wird, eine ganze Menge "hinter den Kulissen". Er arbeitet mit dem Betriebssystem, um Hauptspeicher für das Objekt zu finden, den Speicher für das Objekt einzurichten, stellt die Variablen und die in der Klassendefinition spezifizierten Methoden hinein und gibt eine Objektreferenz an Ihr Programm zurück. All das ist ganz schön kompliziert, und Sie haben Glück, dass Sie es nicht schreiben müssen.


Also das heisst für mich das ich keinen Standardkonstruktor brauche wenn die erstellte Klasse keinen "eigenen" Platz im Speicher brauch. kann man das so sagen?


"this" haben wir bisher noch nicht durchgenommen. Ich werde mal suchen wie ich das ersetzen kann.

Die Bedingungen werde ich wohl versuchen mit einfachen if else anweisungen oÄ zu realisieren.

Etwas Verwirrung sorgt bei auch in der Aufgabenstellung das die Konstruktoren bucheZugang und bucheAbgang heissen, ich aber get und set methoden erstellen soll. Oder heisst "get und set methoden" nur das die auf und abbuchen per extra klasse geregelt wird. Oder muss ich irgendeinen get und set befehl nutzen ?
 

dj3nk

Mitglied
wenn ich versuche das hier zu kompilieren bekomme ich die fehlermeldung:

cannot find symbol - variable artikelNr

Aber die wurde doch im Konstruktor definiert ?!
Code:
import de.htw.saarland.stl.Stdin;
class Artikel
{
    int artikelNr, bestand;
    String bezeichnung;

    public void showArtikel()
    {
        System.out.println("Artikel: " + artikelNr + "  Bezeichnung: " + bezeichnung + "  Bestand: " + bestand);
    }

    public static void newArtikel(int artNr)
    {   
        Artikel art1 = new Artikel();
        art1.artikelNr = artNr;
        art1.bezeichnung = Stdin.readString("Bezeichnung eingeben: ");
        art1.bestand = Stdin.readInt("Bestand eingeben: ");
        art1.showArtikel();
    }
    
    public void bucheZugang(int menge)     // Methode zum Aufbuchen des Bestandes
    {
        bestand = bestand + menge;
    }

    public void bucheAbgang(int menge)     // Methode zum Abbuchen des Bestandes
    {
        if (bestand < menge)                // Pruefen ob Bestand kleiner 0 wird
        bestand = 0;
        else
        bestand = bestand - menge;         // ansonsten Menge abbuchen
    } 
    
    public static void main (String[] args)
    {
		int nr;
		nr = Stdin.readInt("ArtikelNummer eingeben: ");
		newArtikel(nr);
    }
}

?! help :/
 

Landei

Top Contributor
Du musst die Membervariable, auf die sich this.artikelNr bezieht, auch anlegen:

Code:
public class Artikel                    // Klasse Artikel erstellen
{
  private final int artikelNr;
  private final String bezeichnung;
  private int bestand;  

  public Artikel (int artikelNr, String bezeichnung, int bestand) 
  {
    this.artikelNr = artikelNr;
    this.bezeichnung = bezeichnung;
    this.bestand = bestand;
  }
  ...
}
 

Fu3L

Top Contributor
dj3nk hat gesagt.:
wenn ich versuche das hier zu kompilieren bekomme ich die fehlermeldung:

cannot find symbol - variable artikelNr

Du hast einmal die Methodenvariable artikelNr und mit this.artikelNr greifst du auf das Feld artikelNr zu, d.h. du musst die Variable auch in der Klasse vorher deklarieren. Und anstatt von this kannst du einfach die Parameter im Kontruktor anders benennen, wobei this eigentlich das schönere Vorgehen ist...

Code:
public class Artikel                    // Klasse Artikel erstellen
{

int artikelNr;
String bezeichnung;
int bestand;

public Artikel (int art, String bez, int bes)
{
    artikelNr = art;
    bezeichnung = bez;
    bestand = bes;
}
 
G

Gast

Gast
Du bringst da oben alles durcheinander ;-)
Also bucheAbgang und bucheZugang sind Methoden keine Konstruktoren. Getter und Setter Methoden brauchst du um deine Variablen nachträglich auszulesen oder neu zu setzen. Du brauchst also Getter und Setter für die artikelNr, bezeichnung und bestand. Allerdings macht das nur Sinn wenn du deine Variablen dann auch private deklarierst.
Du solltest auch deine main Methode nicht in die Artikel Klasse reindonnern. Mach am Besten zwei getrennte Klassen dann kommst du auch nicht durcheinander und vor allem macht dann erst die Objektorientierung Sinn.

Gruß
Matze
 

dj3nk

Mitglied
Oki, das mit der main methode werde ich gleich mal machen.

Die exakten unterschiede wegen private public bla bla muss ich gleich auch nomma anschauen. Ich würde jetzt aber noch gerne wissen, wie ich beim erstellen eines Artikel Objektes dessen Name via Tastatureingabe bestimmen kann. Wenn ich den Variablenname bei " ..... = new Artikel " auf der linken Seite hinschreibe, kommt die Fehlermeldung das diese variable schon vergeben ist. Irgendwie logisch, aber wie bekomm ich das hin "art1" durch eine eingegebene Zahl zu ersetzen bzw zu ergänzen.

Ansonsten bin ich bisher so weit gekommen:

Code:
import de.htw.saarland.stl.Stdin;
class Artikel
{
    int artikelNr, bestand;
    String bezeichnung;

    public void showArtikel()
    {
        System.out.println("Artikel: " + artikelNr + "  Bezeichnung: " + bezeichnung + "  Bestand: " + bestand);
    }

    public static void newArtikel(int artNr)
    {   
        Artikel art1 = new Artikel();
        art1.artikelNr = artNr;
        art1.bezeichnung = Stdin.readString("Bezeichnung eingeben: ");
        art1.bestand = Stdin.readInt("Bestand eingeben: ");
        art1.showArtikel();
    }
    
    public void bucheZugang(int menge)     // Methode zum Aufbuchen des Bestandes
    {
        bestand = bestand + menge;
    }

    public void bucheAbgang(int menge)     // Methode zum Abbuchen des Bestandes
    {
        if (bestand < menge)                // Pruefen ob Bestand kleiner 0 wird
        bestand = 0;
        else
        bestand = bestand - menge;         // ansonsten Menge abbuchen
    } 
    
    public static void main (String[] args)
    {
		int nr;
		nr = Stdin.readInt("ArtikelNummer eingeben: ");
		newArtikel(nr);
    }
}


grüsse ;D
 

Fu3L

Top Contributor
Die ganzen Artikel in einzelene Variablen zu speichern is nich gut... Benutze ein Array oder (wenn du schon darfst) eine Liste aus java.util. Da kannst du dann (beliebig) viele Objekte reinspeichern und sparst dir die Namensgebung. Und die Artikelnummern kannst du ja schon einlesen, die kannst du ja immer in der selben int-variablen speichern und die dann nach dem Erstellen eines neuen Objekts wieder überschreiben, um damit das nächste Objekt zu versorgen....

Edit, nochma etwas deutlicher: Variablennamen zusammenbauen, wie in PHP, ist in Java nicht möglich und brauch auch nich....
 

Ariol

Top Contributor
Oh, noch ein HTW-PIler ^^

Du solltest bei der Aufgabe ganz einfach Schritt für Schritt vorgehen:

1. Entwerfen Sie eine Klasse Artikel...
Code:
public class Artikel{

}

2. Attribute:
int artikelNr Artikelnummer
String bezeichnung Artikelbezeichnung
int bestand aktueller Artikelbestand
Code:
public class Artikel{

     int artikelNr = 0; //Artikelnummer
     String bezeichnung = ""; //Artikelbezeichnung
     int bestand = 0; //aktueller Artikelbestand

}

3. Methoden:
void bucheZugang(int menge) Zugang aufbuchen
void bucheAbgang(int menge) Abgang abbuche
String toString() Artikel-Objekt als Zeichenkette aufbereiten
Code:
public class Artikel{

     int artikelNr = 0; //Artikelnummer
     String bezeichnung = ""; //Artikelbezeichnung
     int bestand = 0; //aktueller Artikelbestand

     /**
     ** Zugang aufbuchen
     **
     **@param menge - die zuzubuchende Menge
     **/
     void bucheZugang(int menge){
          this.bestand = this.bestand + menge;
     }

     /**
     ** Abgang abbuche
     **
     **@param menge - die zuzubuchende Menge
     **/
     void bucheAbgang(int menge){
          this.bestand = this.bestand - menge;
     }

     /**
     ** Artikel-Objekt als Zeichenkette aufbereiten
     **/
     String toString() {
         return "Artikel: " + artikelNr + "  Bezeichnung: " + bezeichnung + "  Bestand: " + bestand;
     }
}


4.get-Methoden zu allen Attributen
set-Methoden nur zu den Attributen, für die eine set-Methode Sinn macht.
--> Macht meiner Meinung nach überall Sinn
Code:
public class Artikel{

     int artikelNr = 0; //Artikelnummer
     String bezeichnung = ""; //Artikelbezeichnung
     int bestand = 0; //aktueller Artikelbestand


     /**
     ** Gibt die Artikelnummer zurück
     **/
     void getArtikelNr(){
          return this.artikelNr;
     }


    /**
     ** Gibt die Artikelbezeichnung zurück
     **/
     void getBezeichnung(){
          return this.bezeichnung;
     }

    /**
     ** Gibt den aktuellen Artikelbestand zurück
     **/
     void getBestand(){
          return this.bestand;
     }

    /**
     ** Setzt die Artikelnummer
     **
     **@param artikelNr - die neue Artikelnummer
     **/
     void setArtikelNr(int artikelNr){
          this.artikelNr = artikelNr;
     }

    /**
     ** Setzt die Artikelbezeichnung
     **
     **@param bezeichnung - die neue Artikelbezeichnung
     **/
     void setBezeichnung(String bezeichnung){
          this.bezeichnung = bezeichnung;
     }

    /**
     ** Setzt den aktuellen Artikelbestand
     **
     **@param bestand - der neue Artikelbestand
     **/
     void setBestand(int bestand){
          this.bestand = bestand;
     }

     /**
     ** Zugang aufbuchen
     **
     **@param menge - die zuzubuchende Menge
     **/
     void bucheZugang(int menge){
          this.bestand = this.bestand + menge;
     }

     /**
     ** Abgang abbuche
     **
     **@param menge - die zuzubuchende Menge
     **/
     void bucheAbgang(int menge){
          this.bestand = this.bestand - menge;
     }

     /**
     ** Artikel-Objekt als Zeichenkette aufbereiten
     **/
     String toString() {
         return "Artikel: " + artikelNr + "  Bezeichnung: " + bezeichnung + "  Bestand: " + bestand;
     }
}

5. Konstruktoren:
- Es werden Konstruktoren benötigt für das Konstruieren eines Artikel-Objekts
mit 2 oder 3 Argumenten. Warum macht ein Standardkonstruktor keinen Sinn?
--> weil man mindestens eine Artikelnummer haben sollte.
Code:
public class Artikel{

     int artikelNr = 0; //Artikelnummer
     String bezeichnung = ""; //Artikelbezeichnung
     int bestand = 0; //aktueller Artikelbestand

     /**
     ** Konstruktor nur mit artikelNr
     **
     **@param artikelNr - die Artikelnummer des Artikels
     **/
     public Artikel(int artikelNr){
          this(artikelNr, "", 0);
     }

     /**
     ** Konstruktor mit artikelNr und bezeichnung
     **
     **@param artikelNr - die Artikelnummer des Artikels
     **@param bezeichnung - die Bezeichnung des Artikels
     **/
     public Artikel(int artikelNr, String bezeichnung){
          this(artikelNr, bestand, 0);
     }

     /**
     ** Konstruktor mit artikelNr und bestand
     **
     **@param artikelNr - die Artikelnummer des Artikels
     **@param bestand - der Anfangsbestand des Artikels
     **/
     public Artikel(int artikelNr, int bestand){
          this(artikelNr, "", bestand);
     }

     /**
     ** Konstruktor mit allen Attributen als Parameter
     **
     **@param artikelNr - die Artikelnummer des Artikels
     **@param bezeichnung - die Bezeichnung des Artikels
     **@param bestand - der Anfangsbestand des Artikels
     **/
     public Artikel(int artikelNr, String bezeichnung, int bestand){
          setArtikelNr(artikelNr);
          setBezeichnung(bezeichnung);
	  setBestand(bestand);
     }

     /**
     ** Gibt die Artikelnummer zurück
     **/
     void getArtikelNr(){
          return this.artikelNr;
     }


    /**
     ** Gibt die Artikelbezeichnung zurück
     **/
     void getBezeichnung(){
          return this.bezeichnung;
     }

    /**
     ** Gibt den aktuellen Artikelbestand zurück
     **/
     void getBestand(){
          return this.bestand;
     }

    /**
     ** Setzt die Artikelnummer
     **
     **@param artikelNr - die neue Artikelnummer
     **/
     void setArtikelNr(int artikelNr){
          this.artikelNr = artikelNr;
     }

    /**
     ** Setzt die Artikelbezeichnung
     **
     **@param bezeichnung - die neue Artikelbezeichnung
     **/
     void setBezeichnung(String bezeichnung){
          this.bezeichnung = bezeichnung;
     }

    /**
     ** Setzt den aktuellen Artikelbestand
     **
     **@param bestand - der neue Artikelbestand
     **/
     void setBestand(int bestand){
          this.bestand = bestand;
     }

     /**
     ** Zugang aufbuchen
     **
     **@param menge - die zuzubuchende Menge
     **/
     void bucheZugang(int menge){
          this.bestand = this.bestand + menge;
     }

     /**
     ** Abgang abbuche
     **
     **@param menge - die zuzubuchende Menge
     **/
     void bucheAbgang(int menge){
          this.bestand = this.bestand - menge;
     }

     /**
     ** Artikel-Objekt als Zeichenkette aufbereiten
     **/
     String toString() {
         return "Artikel: " + artikelNr + "  Bezeichnung: " + bezeichnung + "  Bestand: " + bestand;
     }
}

6. Folgende Bedingungen sind zu beachten:
- Die Artikelnummer muss eine 4-stellige positive Zahl sein.
- Die Bezeichnung darf nicht null sein.
- Der Bestand darf nie kleiner als 0 werden.
- die bei bucheAbgang und bucheZugang übergebenen Werte müssen auf > 0 überprüft werden.
Code:
/**
** Eine Klasse zur Verwaltung eines Artikels
**/
public class Artikel{

     int artikelNr = 0; //Artikelnummer
     String bezeichnung = ""; //Artikelbezeichnung
     int bestand = 0; //aktueller Artikelbestand

     /**
     ** Konstruktor nur mit artikelNr
     **
     **@param artikelNr - die Artikelnummer des Artikels
     **/
     public Artikel(int artikelNr){
          this(artikelNr, "", 0);
     }

     /**
     ** Konstruktor mit artikelNr und bezeichnung
     **
     **@param artikelNr - die Artikelnummer des Artikels
     **@param bezeichnung - die Bezeichnung des Artikels
     **/
     public Artikel(int artikelNr, String bezeichnung){
          this(artikelNr, bestand, 0);
     }

     /**
     ** Konstruktor mit artikelNr und bestand
     **
     **@param artikelNr - die Artikelnummer des Artikels
     **@param bestand - der Anfangsbestand des Artikels
     **/
     public Artikel(int artikelNr, int bestand){
          this(artikelNr, "", bestand);
     }

     /**
     ** Konstruktor mit allen Attributen als Parameter
     **
     **@param artikelNr - die Artikelnummer des Artikels
     **@param bezeichnung - die Bezeichnung des Artikels
     **@param bestand - der Anfangsbestand des Artikels
     **/
     public Artikel(int artikelNr, String bezeichnung, int bestand){
          setArtikelNr(artikelNr);
          setBezeichnung(bezeichnung);
	  setBestand(bestand);
     }

     /**
     ** Gibt die Artikelnummer zurück
     **/
     void getArtikelNr(){
          return this.artikelNr;
     }


    /**
     ** Gibt die Artikelbezeichnung zurück
     **/
     void getBezeichnung(){
          return this.bezeichnung;
     }

    /**
     ** Gibt den aktuellen Artikelbestand zurück
     **/
     void getBestand(){
          return this.bestand;
     }

    /**
     ** Setzt die Artikelnummer
     **
     **@param artikelNr - die neue Artikelnummer
     **/
     void setArtikelNr(int artikelNr){
  	  if(artikelNr >= 1000 && artikelNr <= 9999)
	  {
               this.artikelNr = artikelNr;
          }
     }

    /**
     ** Setzt die Artikelbezeichnung
     **
     **@param bezeichnung - die neue Artikelbezeichnung
     **/
     void setBezeichnung(String bezeichnung){
          if(bezeichnung != null)
          {
               this.bezeichnung = bezeichnung;
          }
     }

    /**
     ** Setzt den aktuellen Artikelbestand
     **
     **@param bestand - der neue Artikelbestand
     **/
     void setBestand(int bestand){
          if(bestand >= 0)
          {
               this.bestand = bestand;
          }
     }

     /**
     ** Zugang aufbuchen
     **
     **@param menge - die zuzubuchende Menge
     **/
     void bucheZugang(int menge){
          if(menge > 0)
          {
               setBestand(this.bestand + menge);
          }
     }

     /**
     ** Abgang abbuche
     **
     **@param menge - die zuzubuchende Menge
     **/
     void bucheAbgang(int menge){
          if(menge > 0)
          {
               setBestand(this.bestand - menge);
          }
     }

     /**
     ** Artikel-Objekt als Zeichenkette aufbereiten
     **/
     String toString() {
         return "Artikel: " + artikelNr + "  Bezeichnung: " + bezeichnung + "  Bestand: " + bestand;
     }
}

Achtung, bem letzten Schritt wurden bucheAbgang und bucheZugang verändert und auf setBestand umgeleitet und ein Kommentar für die Klasse eingeführt.

P.S.: Ich bin aach aus Dengmaad.
Aber ich bin auch schon im 5. bzw. 9. Semester (wie mans rechnet :-/ )

Ist also schon etwas her, seit ich die Übungen machen musste...
 

dj3nk

Mitglied
Jo Ariol ;P Da könntest du Recht haben. Und ich bin sogar aus Dingmadd. :D
Hast du die Aufgabe gelöst bekommen ? Ich war leider die ganze Woche krank
und hab nich wirklich viel mitbekommen und musste mich mit Herr google,
Skript und dem Java Buch unterhalten ;P
Ist die Abgabe heute abend oder erst am Mittwoch abend ? Habe das aus den
Infos der htw seite nich so ganz erkennen können. Muss noch den ssl und so
einrichten gleich, damit ich zumindest was ich habe hochladen kann.

Grüsse
 

Ariol

Top Contributor
So, hab meinen vorigen Post berichtigt.
s.o.

Ich bin eben etwas zu früh auf Absenden gekommen.

Der Code ist ohne Gewähr, weil mitm Texteditor geschrieben und ungetestet...
 

dj3nk

Mitglied
woohhaaaaa, dickes danke :D muss ich direkt mal intensiv reinschauen ^^ Hast du das alleine oder mit jmd zusammen gemacht ?

Weisst du ob noch mehr aus igb dort sind ?

Ich test ma ;P
 

Ariol

Top Contributor
Alleine...^^

mittlerweile ist sowas nur noch Schreibarbeit. Hat mich grad eben ca. 30Minuten gebraucht.
 

dj3nk

Mitglied
Joa. ich muss mich bissl an das objektorientierte gewöhnen, auch wenns eigentlich recht logisch is. Die Übungen sind ja eigentlich von 2 Leuten zu bearbeiten. Können wir das grad "zusammen" abgeben? Ich würds ja auch nur "abschreiben" und "mitdenken" ;) . Oder hat der gesagt das wir das auch alleine machen sollen/können ?

Muss öfter da sein ^^

Man, wie komm ich auf den server ? mit name / user_matrikelNr komm ich nich drauf :/ Und die fingerprints kann ich auch nich laden für ne ssh verbindung
 

Ariol

Top Contributor
dj3nk hat gesagt.:
Joa. ich muss mich bissl an das objektorientierte gewöhnen, auch wenns eigentlich recht logisch is. Die Übungen sind ja eigentlich von 2 Leuten zu bearbeiten. Können wir das grad "zusammen" abgeben? Ich würds ja auch nur "abschreiben" und "mitdenken" ;) . Oder hat der gesagt das wir das auch alleine machen sollen/können ?
Ich muss das nicht mehr machen, ich hab diese Übungen schon vor Jahren abgegeben.

dj3nk hat gesagt.:
Man, wie komm ich auf den server ? mit name / user_matrikelNr komm ich nich drauf :/ Und die fingerprints kann ich auch nich laden für ne ssh verbindung

ssh benutzername@stl-s-stud.htw-saarland.de
der fingerprint wird dann normalerweise automatisch geladen.
 

Ariol

Top Contributor
dj3nk hat gesagt.:
habs ma getestet, der bringt fehler
jo, war wie gesagt nur mit gedit geschrieben...


bitteschön:
Code:
/**
** Eine Klasse zur Verwaltung eines Artikels
**/
public class Artikel{

     int artikelNr = 0; //Artikelnummer
     String bezeichnung = ""; //Artikelbezeichnung
     int bestand = 0; //aktueller Artikelbestand

     /**
     ** Konstruktor nur mit artikelNr
     **
     **@param artikelNr - die Artikelnummer des Artikels
     **/
     public Artikel(int artikelNr){
          this(artikelNr, "", 0);
     }

     /**
     ** Konstruktor mit artikelNr und bezeichnung
     **
     **@param artikelNr - die Artikelnummer des Artikels
     **@param bezeichnung - die Bezeichnung des Artikels
     **/
     public Artikel(int artikelNr, String bezeichnung){
          this(artikelNr, bezeichnung, 0);
     }

     /**
     ** Konstruktor mit artikelNr und bestand
     **
     **@param artikelNr - die Artikelnummer des Artikels
     **@param bestand - der Anfangsbestand des Artikels
     **/
     public Artikel(int artikelNr, int bestand){
          this(artikelNr, "", bestand);
     }

     /**
     ** Konstruktor mit allen Attributen als Parameter
     **
     **@param artikelNr - die Artikelnummer des Artikels
     **@param bezeichnung - die Bezeichnung des Artikels
     **@param bestand - der Anfangsbestand des Artikels
     **/
     public Artikel(int artikelNr, String bezeichnung, int bestand){
          setArtikelNr(artikelNr);
          setBezeichnung(bezeichnung);
     setBestand(bestand);
     }

     /**
     ** Gibt die Artikelnummer zurück
     * @return 
     **/
     int getArtikelNr(){
          return this.artikelNr;
     }


    /**
     ** Gibt die Artikelbezeichnung zurück
     **/
     String getBezeichnung(){
          return this.bezeichnung;
     }

    /**
     ** Gibt den aktuellen Artikelbestand zurück
     **/
     int getBestand(){
          return this.bestand;
     }

    /**
     ** Setzt die Artikelnummer
     **
     **@param artikelNr - die neue Artikelnummer
     **/
     void setArtikelNr(int artikelNr){
       if(artikelNr >= 1000 && artikelNr <= 9999)
     {
               this.artikelNr = artikelNr;
          }
     }

    /**
     ** Setzt die Artikelbezeichnung
     **
     **@param bezeichnung - die neue Artikelbezeichnung
     **/
     void setBezeichnung(String bezeichnung){
          if(bezeichnung != null)
          {
               this.bezeichnung = bezeichnung;
          }
     }

    /**
     ** Setzt den aktuellen Artikelbestand
     **
     **@param bestand - der neue Artikelbestand
     **/
     void setBestand(int bestand){
          if(bestand >= 0)
          {
               this.bestand = bestand;
          }
     }

     /**
     ** Zugang aufbuchen
     **
     **@param menge - die zuzubuchende Menge
     **/
     void bucheZugang(int menge){
          if(menge > 0)
          {
               setBestand(this.bestand + menge);
          }
     }

     /**
     ** Abgang abbuche
     **
     **@param menge - die zuzubuchende Menge
     **/
     void bucheAbgang(int menge){
          if(menge > 0)
          {
               setBestand(this.bestand - menge);
          }
     }

     /**
     ** Artikel-Objekt als Zeichenkette aufbereiten
     **/
     public String toString() {
         return "Artikel: " + artikelNr + "  Bezeichnung: " + bezeichnung + "  Bestand: " + bestand;
     }
}

Du solltest evtl. noch die Attribute private und die Methoden public machen...
 

dj3nk

Mitglied
Was genau ist der benutzername ? user+matrikelnummer oder das namensgedöns ? der nimmt keine kombi an.
 

Ariol

Top Contributor
Der mit dem du dich auch im STL anmeldest.

i.d.R der erste Buchstabe vom Vornamen + der Nachname

evtl. sinds auch mehrere Buchstaben vom Vornamen, wenn der andere Benutzername schon vergeben ist.
 

dj3nk

Mitglied
geht nicht. Kanns sein das mein Benutzer noch nich freigeschaltet ist weil ich über Nachrückverfahren gekommen bin ? Auf dem Schreiben mit den Internetzugangsdaten steht das drauf. Ich denke ja mal das es sich um die selben daten für den stl server handelt.

Danke für deine Hilfe !!!!
 

dj3nk

Mitglied
joa, wäre nich um 23:30 heute abgabeschluss und ich mich nich auf die technik verlassen hätte :(

edit: nunja, ich habs mal per mail versendet ( ;P ). mal besser als gar nicht. Danke für deine nette Hilfe, jetzt habe ich erst erkannt wie man die Kommentare richtig macht für Doku und vieles mehr für nen guten Einstieg :D
Ich beende den Fred mal wörtlich, da meine Klasee jetzt funktioniert (mit TestKlasse erprobt ^^)
bye
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
EchtKeineAhnungManchmal Hallo :) ich bekomme es nicht hin eine Fehlermeldung auszugeben über die GUI Java Basics - Anfänger-Themen 3
X Ich bekomme die Java Communications Api nicht installiert Java Basics - Anfänger-Themen 9
El_Lobo Threads bekomme Thread nicht abgewürgt mit interrupted() Java Basics - Anfänger-Themen 3
sylo Bekomme Thread nicht gleichzeitig gestartet. Java Basics - Anfänger-Themen 12
N Reguläre Ausdrücke - bekomme Suchkriterium nicht hin Java Basics - Anfänger-Themen 3
S regular expression - bekomme leerzeichen nicht raus Java Basics - Anfänger-Themen 3
T Mehr Anfänger geht nicht - Wie bekomme ich das zum laufen! Java Basics - Anfänger-Themen 6
A Eine Javaaufgabe die ich nicht auf die Reihe bekomme. Java Basics - Anfänger-Themen 7
D bekomme Bild nicht eingefügt Java Basics - Anfänger-Themen 6
T Bekomme es nicht hin Java Basics - Anfänger-Themen 10
M Bekomme Programm nicht zum laufen HILFEEEE! Java Basics - Anfänger-Themen 28
S Bekomme Fehlermeldungen nicht weg ! :-| Java Basics - Anfänger-Themen 5
X wie bekomme ich durch Eingabeaufforderung definierte double in einen Befehl, welcher 3 erwartete double braucht? Java Basics - Anfänger-Themen 3
DrahtEck Warum bekomme ich ein "minus" ausgegeben Java Basics - Anfänger-Themen 2
A Eclipse IDE - Wie bekomme ich eine ältere Version Java Basics - Anfänger-Themen 6
Temsky34 Wie bekomme ich dieses Java-Warning wieder weg? Java Basics - Anfänger-Themen 2
I DecimalFormat in Zahlenformat für Währung, habe 7,99, bekomme aber 7 Java Basics - Anfänger-Themen 4
I Format Problem mit Wert - bekomme 0,10 anstatt 10,00 Java Basics - Anfänger-Themen 6
M Was muss ich verändern damit ich es so ausgegeben bekomme wie auf dem Foto? Java Basics - Anfänger-Themen 2
A Wieso bekomme ich hier zwei unterschiedliche Ausgaben? Java Basics - Anfänger-Themen 6
B Warum bekomme ich kein Bild. Java Basics - Anfänger-Themen 10
L Wie vergrößere ich ein Rechteck in alle Richtungen um eins und bekomme dessen Rand? Java Basics - Anfänger-Themen 2
B EJB und Arquillian - bekomme Nullpointer Exception beim Aufruf der EJB Klasse Java Basics - Anfänger-Themen 40
Henri run und bekomme ich nichts Java Basics - Anfänger-Themen 12
D OOP Warum bekomme ich eine Null-Pointer Exception!!? :( Java Basics - Anfänger-Themen 4
A Wie bekomme ich zwei Strings in eine ArrayList Java Basics - Anfänger-Themen 4
U Wie bekomme ich bei der Ausgabe das erste Komma weg Java Basics - Anfänger-Themen 8
I ZIP Archive erstellen - ich möchte aber nur den jeweiligen Ordner zippen, bekomme ganzen Pfad Java Basics - Anfänger-Themen 1
Thallius Wie bekomme ich den Country code Java Basics - Anfänger-Themen 4
T Klassen wie funktionieren Streams, warum bekomme ich int zurück? Java Basics - Anfänger-Themen 2
D Wie bekomme ich meine Ausgabe in Form von "2^x" hin? Java Basics - Anfänger-Themen 1
G Wie bekomme ich alle Ausgaben von runTime.exec() Java Basics - Anfänger-Themen 7
J Compiler-Fehler Warum bekomme ich fehler angezeigt?? Java Basics - Anfänger-Themen 3
G Variablen Warum bekomme ich da eine Fehlermeldung? Java Basics - Anfänger-Themen 3
S Bei double Methode bekomme ich Infinity Java Basics - Anfänger-Themen 2
P Bekomme in meinen JPanel nur eine JComponente angezeigt Java Basics - Anfänger-Themen 7
W wie bekomme ich die .class Dateien ausgelesen Java Basics - Anfänger-Themen 11
radiac Wieso bekomme ich kein Bild drauf??? Java Basics - Anfänger-Themen 13
G Woher bekomme ich passende .jar-Archive Java Basics - Anfänger-Themen 8
F Wie bekomme ich mein "Fenster"? Java Basics - Anfänger-Themen 3
S Warum bekomme ich diese Exception ? Java Basics - Anfänger-Themen 3
J bekomme keine ausgabe! Java Basics - Anfänger-Themen 40
P wie bekomme ich ein array in eine string variable Java Basics - Anfänger-Themen 11
S Bekomme Keine Ausgabe Java Basics - Anfänger-Themen 9
T Bekomme Fehler mit Bubblesort Java Basics - Anfänger-Themen 2
E Wo bekomme ich das javax.swing.* package her? Java Basics - Anfänger-Themen 3
L Bekomme ständig eine ArrayOutBoundsException Java Basics - Anfänger-Themen 4
G wie bekomme ich das javax.jws.* package in den JBuilder ? Java Basics - Anfänger-Themen 7
R Woher bekomme ich das aktuelle Jahr oder auch Datum? Java Basics - Anfänger-Themen 4
E Wie bekomme ich -Xmx512m in JAR-Datei Java Basics - Anfänger-Themen 13
E bekomme was vom Typ Object -> und nu? Java Basics - Anfänger-Themen 6
V Beim lesen aus einer Datei bekomme ich fehlerhafte Strings. Java Basics - Anfänger-Themen 2
H Warum bekomme ich einenen noclassdeffounderror ? [erledigt] Java Basics - Anfänger-Themen 7
P File Object, wie bekomme ich den Datei Typ Java Basics - Anfänger-Themen 6
M Wie bekomme ich einen Bild in einem JPaneln inden background Java Basics - Anfänger-Themen 3
I Wie bekomme ich diesen Fehler weg? Java Basics - Anfänger-Themen 5
megachucky Woher bekomme ich Java (außer aus dem netz) ? Java Basics - Anfänger-Themen 12
8 Wie bekomme ich einen Thread angehalten der blokiert ist? Java Basics - Anfänger-Themen 8
G Problem mit JPanel, bekomme keine Anzeige! Java Basics - Anfänger-Themen 4
S Wie bekomme ich absolute Werte (Betrag einer Zahl)? Java Basics - Anfänger-Themen 5
B 4 double Werte sind gegeben - wie bekomme ich den größten? Java Basics - Anfänger-Themen 8
A "Hello World"-Programm läuft nicht Java Basics - Anfänger-Themen 16
D Regex greift nicht richtig Java Basics - Anfänger-Themen 4
richis-fragen JTable den angezeigten WERT nicht den Wert aus dem Model ausgeben. Java Basics - Anfänger-Themen 3
richis-fragen JTable Header ausgeblendete (width = 0) nicht per mouseDragged aufziehen. Java Basics - Anfänger-Themen 9
M Ausgabe einer ArrayList ensteht nur als Hashcode, nicht als Objekt Java Basics - Anfänger-Themen 16
K Warum wird mir auf der Konsole des Servers nicht "xxxx" angezeigt (Server/Client) Java Basics - Anfänger-Themen 4
K Warum wird hier nur etwas in eine txt Datei geschrieben und nicht in alle drei (InputStream/OutputStream/Reader/Writer) Java Basics - Anfänger-Themen 1
richis-fragen JTable effektiv angezeigter Text ausgeben nicht Inhalt vom Model Java Basics - Anfänger-Themen 9
S nach Import von jars (PLC4x) in Eclipse kann nicht mehr compiliert werden Java Basics - Anfänger-Themen 9
J Datenüberwachung funktioniert nicht Java Basics - Anfänger-Themen 9
S Wie debugge ich dies am besten: SingleThreadExecutor führt Task nicht aus..? Java Basics - Anfänger-Themen 29
H JDK installieren jdk-21 wird nicht erkannt Java Basics - Anfänger-Themen 13
N Klassen Hintergrundfarbe in JPanel ändert sich nicht Java Basics - Anfänger-Themen 3
K Warum wird mir "Empfangen vom Client:" nicht sofort ausgegeben(Server/Client) Java Basics - Anfänger-Themen 3
mo13 JTextField funktioniert nicht Java Basics - Anfänger-Themen 4
J .jar datei öffnen funktioniert nicht Java Basics - Anfänger-Themen 17
M Methode zielnah zeigt das gewünschte Ausgabe nicht an Java Basics - Anfänger-Themen 3
K Verstehe Rekursion nicht ganz Java Basics - Anfänger-Themen 7
M OOP Brüche nicht richtig berechnen Java Basics - Anfänger-Themen 3
N Ich kriege ganze zeit die Fehlermeldung "Inhalt der Zwischenablage kann nicht in die ausgewählten Elemente eingefügt werden" hat jemand eine Lösung? Java Basics - Anfänger-Themen 6
K TicTacToe belegtes feld nicht neu besetzbar Java Basics - Anfänger-Themen 1
K TicTacToe belegtes Feld nicht neu besetzbar Java Basics - Anfänger-Themen 3
A Warum wird mein jdk nicht gefunden? Java Basics - Anfänger-Themen 3
M Queue-Datenstruktur: nach dem Elementen entfernen, das Ergebnis ist immer noch nicht optimal. Java Basics - Anfänger-Themen 3
K Programm compilierbar aber nicht ausführbar... Java Basics - Anfänger-Themen 21
N Hey Leute und zwar versuche ich gerade ein 2D Spiel zu Programmieren aber die Figur will sich nicht nach links oder rechts bewegen :( Java Basics - Anfänger-Themen 12
G Mit jPackage erstellte EXE funktioniert nicht Java Basics - Anfänger-Themen 2
N BMI Rechner Was haltet ihr von dem Code habt ihr Verbesserungsvorschläge weil design teschnisch ist das nicht das geilste würde das gerne überarbeiten Java Basics - Anfänger-Themen 12
G Robot funktioniert nicht bei SelectionListener Java Basics - Anfänger-Themen 6
D MacOS: PDF erstellen geht nicht Java Basics - Anfänger-Themen 1
G Kann Java-Programm nicht als jar aufrufen, auch als EXE nicht Java Basics - Anfänger-Themen 19
J jar Befehl wird nicht erkannt Java Basics - Anfänger-Themen 7
missy72 Erste Schritte (nicht) Deterministischer endlicher Automat Java Basics - Anfänger-Themen 9
T Getter/Setter - wie sieht ein Setter aus? Und wie nicht? Java Basics - Anfänger-Themen 34
T catch(InputMismatchException) wird nicht ausgefürt/erkannt Java Basics - Anfänger-Themen 12
T Methode akzeptiert String nicht Java Basics - Anfänger-Themen 18
P Netbeans installation geht nicht Java Basics - Anfänger-Themen 26
R RegEx funktioniert nicht Java Basics - Anfänger-Themen 14
T HashMap Lsite gibt die sachen nicht aus wie gewollt. Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben