JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=a5ddc82a5b1d21e464459fcd6e644657Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Was soll das sein?

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
cout <<
Mini JLI'ler



Anmeldedatum: 13.02.2004
Beiträge: 48
Wohnort: Wien/Österreich
Medaillen: Keine

BeitragVerfasst am: 23.04.2004, 21:00    Titel: Was soll das sein? Antworten mit Zitat

Wir haben von unserem Professor nen Sourcecode bekommen, den ein Schüler zamgeschrieben hat. Der Code ist natürlich ziemlich fehlerhaft: z.B. "case" und ":" fehlen und außerdem befindet sich nach der einen return anweisung eine nicht erreichbare Anweisung.

Code:
public class Rechner
{
    private static double rechnen(double op1, double op2, char op)
    {
       switch(op)
       {
       '+' return op1+op2;
       '-' return op1-op2;
       '*' return op1*op2;
       '/' return (op1 < Math.abs(op2) < 1E-20);Double.MAX_Value:op1/op2;
       }
    }
}


Weiß einer von euch, was die Anweisung "(op1 < Math.abs(op2) < 1E-20);" bewirken soll?!

Wäre für Antworten sehr Dankbar.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
xardias
JLI Master


Alter: 38
Anmeldedatum: 28.12.2003
Beiträge: 804
Wohnort: Palo Alto, CA
Medaillen: Keine

BeitragVerfasst am: 23.04.2004, 21:22    Titel: Antworten mit Zitat

ich schätz mal, dass das heißen sollte.

Code:

'/' return (op1 < Math.abs(op2) < 1E-20) ? Double.MAX_Value : op1/op2;

würde auch den ':' dahinter erklären Wink

PS: über den sinn dieser bedingung denke ich jetzt nicht nach bin totmüde.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 24.04.2004, 12:24    Titel: Antworten mit Zitat

Das ist eben eine verkürzte if-Anweisung(zumindest sollte sie das sein).
In dem Code zum Berechnen der shift-Variablen für Farbumrechnungen kommt auch im Buch eine solche Anweisung vor.
Hier muss eben Das Ergebnis von Math.abs(op2) zwischen op1 und 1E-20 liegen. Dann wird Double.MAX_Value zurückgeben; sonst op1/op2.
_________________
www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console


Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
xardias
JLI Master


Alter: 38
Anmeldedatum: 28.12.2003
Beiträge: 804
Wohnort: Palo Alto, CA
Medaillen: Keine

BeitragVerfasst am: 24.04.2004, 14:03    Titel: Antworten mit Zitat

Für sowas ist der ? operator recht praktisch Smile
btw: funktioniert
Code:
if (op1 < Math.abs(op2) < 1E-20)

wirklich ?

Also wenn ich mir das anschaue, dann würde doch eigentlich:
Math.abs(op2) < 1E-20
ein bool zurück geben. Und dieser dann mit op1 verglichen. und nen bool mit ner double vergleichen ist doch irgendwie dumm, oder ?

Also ich würde das so schreiben:
Code:
if( op1 < Math.abs(op2) && Math.abs(op2) < 1E-20 )
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
cout <<
Mini JLI'ler



Anmeldedatum: 13.02.2004
Beiträge: 48
Wohnort: Wien/Österreich
Medaillen: Keine

BeitragVerfasst am: 24.04.2004, 15:22    Titel: Antworten mit Zitat

Ich denke, da hat sich mein Kollege vertippt...Hehe...am Mo is er dran Cool
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum