Übung zur Klausuraufgabe

dege

Mitglied
Hallo an alle...
Ich muss demnächst eine Klausur schreiben und komme mit ein paar Übungsaufgaben nicht zurecht.
Kann mir evtl jmd helfen?
Ich stelle erst mal eine hier rein.

1. Was wird ausgegeben und warum?

Java:
public class AufgabeKSI {
{
System.out.format("K");
}
static {
System.out.format("S");
}
public AufgabeKSI ()
{
System.out.format("I");
}
{
System.out.format("!");
}
public static void main(String [] arg)
{
AufgabeKSI ksi = new AufgabeKSI();
}
}
Vielen Dank schon mal!!!
 
Zuletzt bearbeitet von einem Moderator:
S

SlaterB

Gast
steht das genau so, wo auch immer du es gelesen hast?
Java-Tags hier im Forum nicht zu finden ist eine Sache, trotz des dicken roten Hinweises,
aber Einrückung, Leerzeichen, Tabs haben auch wichtige Bedeutung für Verständnis von Code!

desweiteren kannst du den Code einfach ausführen und dir die Frage selber beantworten?

über das warum läßt sich immer noch diskutieren, aber dann umso leichter,
darst auch selber irgendwas sagen oder sollen nur andere erklären?
nichts gelernt zu Konstruktoren, statische Initialisierung von Klassen?
 

Templarthelast

Bekanntes Mitglied
[OT]Ist es so schwer den großen roten Text zu lesen?

Mann kann ja schon faul sein, aber weder sich die Forenregeln anzuschauen, noch das Programm einmal durchlaufen zu lassen oder etwa 5 min. über das Problem nachdenken und dann einen Lösungsansatz zu presentieren, ist echt dreist...
Es erwartet ja keiner, dass du eine perfekte Lösung hast, aber ein wenig Eigeninitiative sollte schon kommen, wenn man Hilfe haben will. [/OT]
 

dege

Mitglied
Sorry, ich stehe etwas unter Zeitdruck...und habe es deshalb überlesen. Tut mir leid!!!
Natürlich steht es so nicht dort, wo ich es her habe, sondern natürlich ist es eigentlich richtig
formatiert. Ist nur beim kopieren und einfügen verloren gegangen.
Ich habe es eingegeben und ablaufen lassen. Es kommt SK!I raus.
Ich weiss eben nur nicht warum!?
Verstehen kann ich nur nicht, warum man hier gleich angemacht wird. Ist doch nen Anfängerforum!?
Ich bin Anfänger und hab eben ne Frage!
 

Templarthelast

Bekanntes Mitglied
Die Lösung auf deine Frage ergibt sich aus der Ausgabe...

Du musst dir die einzelnen Buchstaben mit den Teilen des Codes vergleichen. Falls du nicht wissen solltest welche Teile das sind hier nochmal mit Beschreibung:
Initalisierblock: angezeigt durch die geschweiften Klammer außerhalb einer Methode. Wird beim Initalisieren der Klasse aufgerufen.
Java:
{
System.out.format("K");
}
Noch ein Initialisiererblock
Java:
{
System.out.format("!");
}
Ein statischer Initialisierblock: dieser wird beim Ausführen einer statischen Methode vorher ausgeführt. Hier z.B. bei der main-Methode
Java:
static {
System.out.format("S");
}
Konstruktor: wird aufgerufen, falls die Klasse als neues Objekt mit
Code:
new *Name*
erzeugt wird
Java:
public AufgabeKSI ()
{
System.out.format("I");
}

Jetzt musst du nur noch die Anweisungen der einzelnen Teile mit deiner Ausgabe vergleichen und dann hast du die Lösung
 
S

SlaterB

Gast
das ist kein 'Anmachen' sondern konstrutive Arbeit,
99% der Welt wird gar nicht helfen, 0.1% ist vielleicht so gnädig, deine Arbeit zu machen, warum auch immer,

zu 0.9% kommt aber der Realismus auf die Bühne und da heißt es nunmal:
du musst ein Lehrbuch auch lesen, da führt kein Weg dran vorbei,

was gibt es zu Konstruktoren zu wissen, was ist ein [c]{}[/c]-Block, was ist ein [c]static {}[/c]-Block?
das ist kein vertracker Tippfehler oder sonstiges Logik-Problem, das ist direktes Wissen aus dem Lehrbuch,

kann man hierher kopieren, oder du kannst dort nachschauen,
wobei es teils auch nicht mehr zu sagen gibt als dir das Programm eh zeigt ;)
der Link etwa
Initialisierungsblöcke
hat nicht viel Text
 
S

SlaterB

Gast
und wenn wir hier schon beim allgemeinen Meckern sind, dann sein noch angemerkt,
dass Zeit keinerlei Bedeutung hier im Forum hat, genauso gut könnte das jedermann nur als Vorwand dienen, Lösungen zu erhalten,

überlege vorher, ob du es erwähnen willst, bei manchen mag es wirken, bei anderen nur größere Skepsis hervorrufen,

nun aber genug davon ;)
 

dege

Mitglied
Ich würde noch nicht mal verstehen, wo das Problem liegt, wenn ich einfach nur ne Lösung haben wollte!? Das ist doch letztendlich mein Problem. Wenn mir jemand hilft, ist es ok, wenn nicht, habe ich
einfach Pech gehabt.
Aber das man in Foren jedes mal belehrt werden muss ist wirklich anstrengend.
 
S

SlaterB

Gast
es wird langsam mehr als du verdient hast, nicht persönlich nehmen,
aber nur um das allgemein auszudiskutieren:

du kannst ja einen Disclaimer unter deine Postings setzen
"ich weiß dass ich frech nach Lösungen frage, auf Hinweise zu allgemeinen menschenlichen Umgang/ selbstständiges Lernen usw. bitte verzichten, nur die Lösung abliefern bis Zeitpunkt X, Format Y, am besten gleich Email an Z, dann brauch ich hier nicht mehr reinschauen, danke"

mal sehen wie viele dann noch bereitwillig antworten ;)
also verzichtest du/ jeder in dieser Situation drauf, ergo kommt die normale Reaktion
 

dege

Mitglied
Ja, hab ich ausgeführt...
Als Ausgabe kam SK!I in Eclipse... nach der Antwort von Templartehlast bin ich mir jetzt aber nicht
mehr so sicher, ob das richtig ist...
Mein Problem ist einfach, dass ich wirklich wenig Ahnung habe (wie man vermutlich schon bemerkt hat),
Java eigentlich nie wieder brauche, aber irgendwie diese Klausur bestehen muss.
 
M

Marcinek

Gast
Java brauchst du nicht, aber das ist ja auch nicht der Punkt.

Du solltest an einer UNI / FH lernen, wie man lernt.

Nun weißt du ja, in welcher Reihenfolge die einzelenen Ausgaben passieren.

Nun kann man nachlesen, was ist ein Static-Initialiser, Konstruktor etc.., Man kann die Reihenfolge Ändern um zu schauen, was dann passiert.
 

dege

Mitglied
Ja, hat die FH scheinbar nicht hinbekommen.... Ich werde mir darüber Gedanken machen, wenn die Klausur durch ist.
Danke auf jeden Fall noch mal.
 
G

Gast2

Gast
Ich bin mal so nett:

1) Der Output per Eclipse ist natürlich richtig... Das ist halt was dein java Program macht ;)
2) der statische Initialisierungsblöcke wird beim Laden der Klasse ausgeführt, also als allererstes -> "S"
3) Danach werden die Instanz-Initialisiererblöcke ausgeführt, der Reihe nach von oben nach untern -> "K" dann "!"
4) Dann wird der Konstruktor aufgerufen und somit der letzte String ausgegeben -> "I"

Die Zusammenhänge darfst du dir jetzt nochmal in Ruhe anschauen und überlegen... oder dir den Link ansehen der SlaterB gepostet hat, da dort alles genauso erklärt wird.
 

dege

Mitglied
Danke, das war gut verständlich!!!
Ich wusste einfach nicht, in welcher Reihenfolge das überhaupt abläuft.
Das Skript zur Vorlesung ist leider total kryptisch...
 
Zuletzt bearbeitet:
G

Gast2

Gast
Der einzige Trick hierbei ist das die beiden Instanz-Initialisiererblöcke [c]{...}[/c]über die Klasse verteilt wurden. Somit musst du wissen dass die Reihenfolge der Blöcke von oben nach unten abgearbeitet wird.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Übung Zahlworte Java Basics - Anfänger-Themen 14
M Array - Übung Java Basics - Anfänger-Themen 3
Der Grütz Verständnisfrage zu Übung aus Java Kurs - Schaltjahr bestimmen Java Basics - Anfänger-Themen 2
A Vererbung Vererbung Übung Java Basics - Anfänger-Themen 5
Kawastori Hilfe bei Methoden Übung Java Basics - Anfänger-Themen 6
T OOP Klausur-Übung Öpnv Java Basics - Anfänger-Themen 17
A Übung Else if Java Basics - Anfänger-Themen 2
M Code nur für Cracks? Crack the Passwort Übung Java Basics - Anfänger-Themen 7
parrot Array Übung Java Basics - Anfänger-Themen 25
T Programmierwettbewerb Übung Java Basics - Anfänger-Themen 73
G "Ladebalken" erstellen - Übung Java Basics - Anfänger-Themen 3
M JavaFX-Übung Autospiel Java Basics - Anfänger-Themen 4
B ShuttleBus - Übung Java Basics - Anfänger-Themen 3
Zrebna Compiler-Fehler Java-Compiler wird nach 'javac' keyword-Eingabe nicht gestartet (Erste Übung) Java Basics - Anfänger-Themen 18
B Rekursion - Übung Java Basics - Anfänger-Themen 2
T Klassen Kleine Übung zum Thema Klassen Java Basics - Anfänger-Themen 3
D Übung Felder java Error kompilieren Java Basics - Anfänger-Themen 4
F Erste Schritte Hilfe bei Übung zu String equals() und Schleifen Java Basics - Anfänger-Themen 8
M Übung Ausgabewerte kapier ich nicht ... Java Basics - Anfänger-Themen 1
D OOP Hilfe zu Übung Laufzeitberechnung in Big O Java Basics - Anfänger-Themen 2
F Erste Schritte Übung zu Exceptions Java Basics - Anfänger-Themen 24
F Problem mit selbstprogrammierten Kalender (als Übung) Java Basics - Anfänger-Themen 4
B GUI- JTextField - Übung Java Basics - Anfänger-Themen 5
A Vererbung Verständnisproblem bei Übung Java Basics - Anfänger-Themen 5
EnHancEd[] OOP-Übung Java Basics - Anfänger-Themen 18
EnHancEd[] Exception Übung für Einsteiger Java Basics - Anfänger-Themen 14
T Methoden Array Übung Java Basics - Anfänger-Themen 7
F Übung: Ratespiel aus dem Buch Java von Kopf bis Fuß Java Basics - Anfänger-Themen 14
F Übung 99 Flaschen Bier aus dem Buch Java von Kopf bis Fuß Java Basics - Anfänger-Themen 10
Dit_ Thread Synchronisation | Übung Java Basics - Anfänger-Themen 5
K Anfänger-Übung für Arrays Java Basics - Anfänger-Themen 2
C Java Übung Fragen Java Basics - Anfänger-Themen 3
E BlueJ und Zeichenketten. S83 Übung 2.72 Java Basics - Anfänger-Themen 3
F Upper Case Übung Java Basics - Anfänger-Themen 10
G Frage zu einer Übung Java Basics - Anfänger-Themen 11
A JSP - Probleme mit einer Übung Java Basics - Anfänger-Themen 3
G Problem mit Übung Java Basics - Anfänger-Themen 5
D Problem mit objektorientierter Übung Java Basics - Anfänger-Themen 2
A Java Übung Java Basics - Anfänger-Themen 14
C Bitte Hilfe bei Übung zu Verzweigungen Java Basics - Anfänger-Themen 16
B Programmanalyse (Klausuraufgabe) Java Basics - Anfänger-Themen 8
F Referenzvariable vom Typ "Integer" definieren. (Klausuraufgabe) Java Basics - Anfänger-Themen 5
D Alte Klausuraufgabe Threads Java Basics - Anfänger-Themen 10
C Alte Klausuraufgabe - UML in Java implementieren Java Basics - Anfänger-Themen 1
D Klausuraufgabe in Java Java Basics - Anfänger-Themen 6
pindakaas fehler in Klausuraufgabe? Java Basics - Anfänger-Themen 15
T Klausuraufgabe Bordcomputer Java Basics - Anfänger-Themen 9
N Klausuraufgabe hilfe Java Basics - Anfänger-Themen 6
J Verständnis Problem mit return --> Klausuraufgabe Java Basics - Anfänger-Themen 4
G Klausuraufgabe Aufruflogik Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben