Frage:
Java-Anfängerin verzweifelt ;-)?
Esperada20
2012-10-22 07:08:34 UTC
Hallo!

Ich habe erst vor kurzem mit Java angefangen und gerate regelmäßig an meine Grenzen :/ Jetzt sitze ich hier schon wieder seit 2Std. an einer eigentlich simplen Aufgabe und komme trotz googlen und Nachlesen in diversen Büchern nicht weiter.

A hat diverse Eigenschaften u.a.

- ist wasserdicht / nicht wasserdicht.

Dafür soll ich eine passende Variable inkl. Datentyp definieren und später verschiedene Kombinationen von Eigenschaften für diverse Typen ausgeben.

Ich glaub mir fehlt einfach der richtige Ansatz :(
Drei antworten:
🐟 Fish 🐟
2012-10-22 09:06:52 UTC
Ich will dich nicht mit noch mehr Software überfordern. Aber ich finde die Dozenten haben alle ein Rad ab, wenn sie gleich mit einer Programmiersprache einsteigen.



UML sagt an dieser stelle ganz klar. Ein Attribut ist ein Adjektiv mit einem Adjektiv



In deinem Fall z.B. IsWasserdicht welche Werte kann sie haben? Ja oder nein. Also True oder False.

Ist der Wert außerhalb bekannt? Also wenn ich dein Objekt sehe weiß ich das es wasserdicht ist oder weiß das nur dein Objekt, indem es irgendwas durchsiffen lässt. Und du siehst nur das es tropft. Public oder private. Ich gehe davon aus du weißt ob es wasserdicht ist.

Also heißt dein Member:



Public Bool isWasseedicht;



Sowas lernt man aber nicht in Java sondern mit UML.

Zu deiner erweiterung:



Ein A sei ein Auto.

Ein A hat folgende Eigenschaften:

- Er hat eine Anzahl von (Substantiv)Rädern. (Kann man zählen also int)

- Er ist – oder ist nicht – (Adjektiv) schwimmtauglich (Ja/Nein Wahr/Falsch also Bool)

- Er hat eine AnzahlSitze (Substantiv) (Kann man zählen also int)

- Er ist zu einem Grad zwischen 0 und 100.0 (Adjektiv)isoliert (Wird in Prozent also mit Kommazahlen gemessen also double)

- Er hat – oder hat nicht – (Substantiv)Feinbein-Muffen (Ja/Nein Wahr/Falsch also Bool)

- Er hat eine Anzahl von Lampen (Substantiv) (Kann man zählen also int)

- Er ist – oder ist nicht – (Adjektiv)feuersicher (Ja/Nein Wahr/Falsch also Bool)



Dann

Ein Standard-A hat folgende Eigenschaften:

Er hat mindestens 4 Reifen und ist feuersicher

Und hat keine Sitze

Ist aber nur bis zu einem Grad von 11.7 isoliert

Das sind Default Werte mit denen eine Klasse vorbelegt wird

also

class A

{

int Raedern = 4;

Bool Schwimmtauglich;

int AnzahlSitze = 0;

Double Isoliert = 11.7;

Bool Feinbein-Muffen;

int AnzahlLampen;

Bool Feuersicher = true;

}

War doch garnicht so schwer oder?
Duc-Viet
2012-10-22 15:15:52 UTC
Ich hoffe du meinst damit Objekte(Klassen) definieren. Wie Auto: hat 3 oder 4 Räder, läuft gerade? usw.

In diese Klasse gibt es Variabel, Funktionen, die diese Objekt beschreibt und irgendwann kommt noch Vererbung und so hinzu. Dein Beispiel wäre:

public class A

{

private Boolean Wasserdicht;



public A(Boolean wd)

{

Wasserdicht=wd;

}



Boolean getWasserdicht()

{

return Wasserdicht;

}



Void setWasserdicht(Boolean wd)

{

Wasserdicht=wd;

}

}



Und im Main musst du dann dem Objekt erstellen:

A test= new A(false);

Lesen der Eigenschaft:

Boolean iswd = test.getWasserdicht();

Schreiben der Eigenschaft:

test.getWasserdicht(iswd);



Ok! Dann die einfache Variante ohne Get und Set Methode.

Die erste Frage ist nur da, damit du weißt welche Datentyp für was da ist. Beispiel

char ... sind Einzelzeichen wie A,B,C

string ...sind Wörte, die aus char besteht

boolean ... haben zwei Zustände Wahr oder Falsch

int... sind ganze Zahlen

...



public static class Autoaufgabe{

public static class Auto

{

Boolean wasserdicht;\\True ... es ist Wasserdicht, False halt nicht

Integer radzahl;\\ Anzahl der Räder

Boolean schwimtauglich;

double isoliergrad;\\ Ich weiß leider nicht mehr wie man double Eingrenz

.....

}

\\Zweite Aufgabe musst du schon genauer beschreiben was es soll?

\\Soll es in Richtung Vererbung also extends gehen?



public static void main( String[] args )

{

....

}



}



Zu UML:



Wer mit UML anfängt und glaubt er sei so mit besser, der hat nicht verstanden was UML ist. Wenn du nicht mal die Grundkenntnis der Programmierung kennst, wie willst du in abstrakten Ebenen Arbeiten.
anonymous
2012-10-22 14:23:52 UTC
Vielleicht hilft dir das hier:

http://www.dpunkt.de/java/


Dieser Inhalt wurde ursprünglich auf Y! Answers veröffentlicht, einer Q&A-Website, die 2021 eingestellt wurde.
Loading...