Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » Java Programm » Antwort erstellen » Hallo Gast [Anmelden|Registrieren]

Antwort erstellen
Benutzername: (du bist nicht eingeloggt!)
Thema:
Nachricht:

HTML ist nicht erlaubt
BBCode ist erlaubt
Smilies sind erlaubt
Bilder sind erlaubt

Smilies: 21 von 33
smileWinkDaumen hoch
verwirrtAugenzwinkerngeschockt
Mit ZungeGottunglücklich
Forum Kloppebösegroßes Grinsen
TanzentraurigProst
TeufelSpamWillkommen
LehrerLOL HammerZunge raus
Hilfe 
aktuellen Tag schließen
alle Tags schließen
fettgedruckter Textkursiver Textunterstrichener Text zentrierter Text Hyperlink einfügenE-Mail-Adresse einfügenBild einfügen Zitat einfügenListe erstellen CODE einfügenPHP CODE farbig hervorheben
Spamschutz:
Text aus Bild eingeben
Spamschutz

Die letzten 10 Beiträge
InformatikJava12

Danke für deine Hilfe smile Daumen hoch Wink
Karlito

Aus meiner Sicht ja.

Gruß,

Karlito
InformatikJava12

Vielen Danke Daumen hoch

Nochmal zum 2. Teil
Wenn ich vom urprünglichen nur Syntax verbesserten Code aussgehe:
code:
1:
2:
3:
4:
5:
6:
public class Test { 
public static void main(String[] args) { 
int zahl1 = 2;
 int zahl2 = 21;
 int antwort = zahl2 * zahl2;
 System.out.println("Antwort : " + antwort); } }


Die Aufgabe lautet dazu:
Es gibt einen sogenannten Blackbox-Test, d.h. das Programm wird ausgeführt und die tatsächliche Ausgabe mit der erwarteten Ausgabe verglichen. Führen Sie den Test aus.
Begründen Sie, warum der Test fehl schlägt.
Meine Begründung:
Der Test schlägt fehl, da laut dem Programmcode zahl 2*zahl2=441 gerechnet wird. Es wird jedoch erwartet, dass man das Produkt von zahl1 * zahl2=42 erhält. D.h im Programmcode wurde nur die Variablen Zahl 1 und 2 initialisiert, jedoch mit zahl1 weiter nichts gemacht.
Ist das so ok?
Karlito

Man müsste schauen, welche Sprachmittel wirklich erwartet werden. Schaut man sich die Grammatik von Java an (eine Formale beschreibung der Sprache), dann kann man noch genauer darauf eingehen, was erwartet wird. Bei Zeile 5 z.B. könnte außer einem Semikolon noch eine Operation wie z.B. +-*/ erwartet werden.
In Zeile 6 vor der Schließenden Klammer könnte auch noch eine Liste mit weiteren Argumenten folgen.

Dafür gibt es sicher auch noch passenden Teile der Grammatik die ich nicht parat habe, da ich mir die Spezifikation von Java nicht angeschaut habe.

Schau mal hier:
https://docs.oracle.com/javase/specs/

Gruß,

Karlito
InformatikJava12

Vielen Dank. Daumen hoch smile
Trotzdem, wenn du es schon ansprichst, wie würdest du es formulieren, wenn man tiefer in die Materie einsteigt?
Karlito

Zeile 5: Java erwartet ein Semikolon als Abschluss eines Statements
Zeile 6: Java erwartet eine schließende Klammer am Ende der Argumente, die an eine Funktion übergeben werden vor dem Semikolon

So würde ich es machen. Je nach dem, wie pingelig man sein will, könnte man noch weiter in die Tiefe gehen.

Gruß,

Karlito
InformatikJava12

Kann mir jmd bei der Beantwortung helfen?
InformatikJava12

Deshalb kommt bei dem BlackBox Test 441 raussmile

Wie kann ich das ordentlich begründen, was Java erwartet bei Aufgabe 1. Also das fehlende Semikolon und die runde Klammer?
InformatikJava12

aso großes Grinsen großes Grinsen
Zahl 1 wird nicht verwendet:
Neuer code:
code:
1:
2:
3:
4:
5:
6:
7:
8:
public class Test {
 public static void main(String[] args) {
 int zahl1 = 2;
 int zahl2 = 21;
 int antwort = zahl1 * zahl2;
 System.out.println("Antwort : " + antwort);
 } 
}
Karlito

Schau dir Zeile 5 mal genau an und poste auch mal deinen geänderten Quelltext.

Gruß,

Karlito
Es sind weitere Beiträge zu diesem Thema vorhanden. Klicken Sie hier, um sich alle Beiträge anzusehen.