Java Programmierung

Mitglied seit
08.03.2004
Beiträge
1.574
Reaktionen
0
Hi ihrs,

ich hab folgende HAs:

Die Firma TeamSoft entschließt sich, Programme im Markt anzubieten. Dafür soll eine Artikelverwaltung programmiert werden. Die Anforderungen an das Programm sind in folgendem Pflichtenheft zusammengestellt:

/1/ Artikelnummer, Artikelbezeichnung, die verwendete Programmiersprache, eine Kurzbeschreibung und der Verkaufspreis eines jeden Artikels sollen gespeichert werden.
/2/ Alle Daten müssen einzeln gelesen werden können.
/3/ Die Kurzbeschreibung, die Programmiersprache und der Verkaufspreis müssen einzeln gespeichert werden können.
/4/ Der Verkaufspreis ist mit 0 vorbelegt, die Programmiersprache mit »Java«.


wie würdet ihr hier 3. interpretieren. Die werden doch als einzelne Parameter in /1/ deklariert. :bored:
 
Mitglied seit
18.08.2002
Beiträge
2.496
Reaktionen
149
Ich nehme mal an, ihr sollt Tupel (Datensätze) erzeugen, die sich aus den oben genannten Attributen zusammensetzen. Theoretisch könnte man auch mehrere dieser Attribute in einer Zelle speichern. In 3. wird einfach nur festgestellt, dass eine seperate Speicherung gefordert wird.
 
Mitglied seit
12.07.2001
Beiträge
33.266
Reaktionen
168
Na dann programmiers doch mal schnell zusammen.
 
Mitglied seit
08.03.2004
Beiträge
1.574
Reaktionen
0
Original geschrieben von TriloByte
Ich nehme mal an, ihr sollt Tupel (Datensätze) erzeugen, die sich aus den oben genannten Attributen zusammensetzen. Theoretisch könnte man auch mehrere dieser Attribute in einer Zelle speichern. In 3. wird einfach nur festgestellt, dass eine seperate Speicherung gefordert wird.

also läuft das einfach ganz normal


public class artikel

private int Artikelnummer;
private int Name;

und dann ist /1/ und /3/ erfüllt?
 

ROOT

Technik/Software Forum, Casino Port Zion
Mitglied seit
17.11.2002
Beiträge
7.037
Reaktionen
37
Ort
MS
Um 3 zu erfüllen solltest du mindestens mal Membervariablen für Programmiersprache, Kurzbeschreibung und Verkaufspreis einbinden.
Ansonsten ist es etwas seltsam einen Namen (i.A. = Text) als Integer zu speichern...
 
Mitglied seit
08.03.2004
Beiträge
1.574
Reaktionen
0
Ok. Ich formuliere meine Frage nochmal neu:


Ich gehe davon aus, dass jeder der meine Frage beantworten kann, weiss, dass Name keine Zahl ist und dass die Attributsdeklaration für die Aufgabenstellung noch nicht beendet ist. Die Frage ist jetzt, wenn die Deklaration beendet ist und jedes Attribut dem richtigen Typ zugeordnet ist, ist dann sowohl die Aufgabenstellung /1/ als auch /3/ erfüllt?
 
Mitglied seit
19.03.2002
Beiträge
2.539
Reaktionen
11
3 könnte den Input meinen, also die Möglichkeit jedes dieser Felder nachträglich einzeln neu einzugeben, da zumindest Preis und Kurzbeschreibung sich ja bei einem Update ändern können.
Allgemein:
Am besten ist es vermutlich, wenn du eine eigene Klasse Produt machst, mit den Methoden: setPrice, setLanguage und setDescription um 3 zu erfülllen. Daneben halt noch get-methoden für alles was du ausgeben können willst. In der Klasse kannst du dann einfach im Konstruktor den Preis mit 0 und Language mit Java initialisieren.
 
Mitglied seit
08.03.2004
Beiträge
1.574
Reaktionen
0
Ok. Da wir nur 2 Klassen insgesamt schreiben sollen, pack ich da also noch nen paar Set-Methoden rein und bin fertig. Danke ^^
 
Mitglied seit
19.03.2002
Beiträge
2.539
Reaktionen
11
Code:
public class Produkt {
	public int artikelnummer;
	public String artikelbezeichnung;
	public String language;
	public String kurzbeschreibung;
	public int preis;
	public Produkt(int a, String b, String c, String d, int e){
		// Initialisieren der Klassenvariablen (Preis = 0 als default muss dem Konstruktor übergeben werde)
		artikelnummer = a ;
		artikelbezeichnung = b;
		language = c;
		if ( c == ""){
			language = "Java";
		}else{
			language = c;
		}
		kurzbeschreibung = d;
		preis = e;
	}
	/*
	 * evtl. zweiten, dritten und vierten Konstruktor für die Fälle:
	 * - nur Preis wird nicht mit übergeben
	 * - nur Programmiersprache wird nicht mit übergeben
	 * - Preis und Programmiersprache werden nicht mit übergeben
	 * => Man könnte die if-Bedingung im aktuellen Konstruktor entfernen und müsste beim Aufruf nicht den 
	 *    Preis mit 0 übergeben, wenn dieser nicht initialisiert ist
	*/
	// set-Methoden um die Werte einzeln modifizieren zu können bei den 3 geforderten Einträgen 
    public void setDescription(String a){
		kurzbeschreibung = a;
	}
    public void setPrize(int a){
		preis = a;
	}
    public void setLanguage(String a){
	         language = a;	
	}
	// get-Methoden zur Abfrage der Produkdetails
    public int getArtikelnummer(){
    	return artikelnummer;
    }
    public String getArtikelbezeichnung(){
    	return artikelbezeichnung;
    }
    public String getLanguage(){
    	return language;
    }
    public String getKurzbeschreibung(){
    	return kurzbeschreibung;
    }
    public int getPreis(){
    	return preis;
    }
}
 
Mitglied seit
29.10.2002
Beiträge
1.712
Reaktionen
0
Ort
Stuttgart
*hust* Soweit ich mich erinnern kann, kann man doch default werte gleich machen. Dann muss man sie beim Methodenaufruf nicht extra übergeben
Code:
public class Produkt {
   ...
	public Produkt(int a, String b, String c = "Java", String d, int e = 0){
		// Initialisieren der Klassenvariablen (Preis = 0 als default muss dem Konstruktor übergeben werde)
		artikelnummer = a ;
		artikelbezeichnung = b;
		language = c;
		kurzbeschreibung = d;
		preis = e;
	}
	...
}

Dann könnte man Methoden aufruf machen: new Product (a,b,d);

oder irre ich mich ?
 
Mitglied seit
19.03.2002
Beiträge
2.539
Reaktionen
11
Drey, dachte ich auch erst, aber bin mir nicht 100% sicher und in #java.de war man sich auchnicht sicher, ergo die sichere Methode.
 
Mitglied seit
02.08.2002
Beiträge
2.930
Reaktionen
0
Original geschrieben von Drey
*hust* Soweit ich mich erinnern kann, kann man doch default werte gleich machen. Dann muss man sie beim Methodenaufruf nicht extra übergeben
Code:
public class Produkt {
   ...
	public Produkt(int a, String b, String c = "Java", String d, int e = 0){
		// Initialisieren der Klassenvariablen (Preis = 0 als default muss dem Konstruktor übergeben werde)
		artikelnummer = a ;
		artikelbezeichnung = b;
		language = c;
		kurzbeschreibung = d;
		preis = e;
	}
	...
}

Dann könnte man Methoden aufruf machen: new Product (a,b,d);

oder irre ich mich ?


Default-Argumente in dieser Art und Weise sehen mir eher nach C++ aus.
In Java könnte man stattdessen wohl einfach den Konstruktor überladen und mehrere Varianten anbieten.
 
Mitglied seit
19.03.2002
Beiträge
2.539
Reaktionen
11
http://www.galileocomputing.de/open...sel06_000.htm#Rxx747java06000040001C51F028102

Scheint wirklich nur mit this zu gehen, was im wesentlichen halt 0 Unterschied machen würde, für mich eher sogar unübersichtlicher ist.

Java ist quasi an allen Unis die Sprache der Wahl, da sie kostenlos ohne großen Aufwand zu benutzen ist und vorallem völlig OOP. Das wichtigste, was quasi jedem Studenten vermittelt wird ist im ersten Semester "was ist ein Objekt". Außerdem ist es ungleich einfacher mit Swing schnell eine grafische Oberfläche hinzubekommen, was z.B. in C++ um einiges komplexer ist. Außerdem fällt auch Speicherverwaltung flach und einige andere komplexere Dinge um die sich Java selber kümmert.
 
Mitglied seit
12.01.2004
Beiträge
8.557
Reaktionen
0
Ort
Gießem
haben hier an der uni auch java
wobei ich gerade solche dinge wie speicherverwaltung / pointer etc in java vermisse (die einem info studenten doch schon nahegebracht werden sollten, sofern man diese noch nicht aus anderen sprachen kennt)
 
Mitglied seit
18.08.2002
Beiträge
2.496
Reaktionen
149
Lol und ich dachte ihr müßt die Daten per JDBC in ner Datenbank verwalten.
 
Mitglied seit
12.07.2001
Beiträge
33.266
Reaktionen
168
lol, das wär schon krass gewesen.
 
Mitglied seit
28.07.2006
Beiträge
5.295
Reaktionen
0
Nie wieder Java 8[. Gott, ich hab das meiste wieder verlernt ^^.


BTW. braucht jmd. Thinking in Java? Für nen 10er verschick ich's, mit exklusiven Unterstreichungen von Smacks. Und ja, es sieht gebraucht aus ;D.
 
Oben