Unverständnis für ":" und "?"

Diskutiere Unverständnis für ":" und "?" im Java Basics - Anfänger-Themen Bereich.
mihe7

mihe7

Java:
public class Goldesel {
    public static void main(String[] args) {
        System.out.println(
            "# my_first_calculator.py by AceLewis\n"+
            "# TODO: Make it work for all floating point numbers too\n\n"+
            "if 3/2 == 1:\n"+
            "    input = raw_input\n\n"+
            "print('Welcome to this calculator!')\n" +
            "print('It can add, subtract, multiply and divide whole numbers from 0 to 50')\n"+
            "num1 = int(input('Please choose your first number: '))\n"+
            "sign = input('What do you want to do? +, -, /, or *: ')\n"+
            "num2 = int(input('Please choose your second number: '))\n");

        char[] operators = {'+','-','/','*'};
        for (char op : operators) {
            for (int num1 = 0; num1 <= 50; num1++) {
                for (int num2 = 0; num2 <= 50; num2++) {
                    System.out.printf("if num1 == %d and sign == '%c' and num2 == %d:\n", num1, op, num2);
                    String result = "Inf";
                    switch (op) {
                        case '+': result = "" + (num1+num2); break;
                        case '-': result = "" + (num1-num2); break;
                        case '*': result = "" + (num2*num2); break;
                        case '/': result = num2 == 0 ? "Inf" : Double.toString(num1/(double)num2); break;
                    }
                    System.out.printf("    print(\"%d%c%d = %s\")\n", num1,op,num2,result);
                }
            }
        }
        System.out.println("\nprint(\"Thanks for using this calculator, goodbye :)\")");
    }
}
Code:
$ java -cp . Goldesel | wc -l
20822
--> passt :)

EDIT: Code geändert... printf -> print - Python...
 
Zuletzt bearbeitet:
J

JustNobody

Ja, du musst nur aufpassen: Jeden Tag nur um einen festen Wert erhöhen. Nicht dass Du ausversehentlich immer verdoppelst oder so - das fällt sonst sehr schnell auf ....

"Was hast Du heute gemacht?"
"Ich habe den Calculator erweitert - er rechnet nun mit Zahlen bis zu 10.350 statt nur bis 10.300 wie gestern ... morgen erweitere ich es dann auf bis zu 10.400."

Gutes Einkommen. Bis Du den Calculator fertig hast (er den Integer Bereich voll abdeckt) hast Du noch genug Arbeit bis zur Rente :)
 
L

LimDul

Mal übrigens ganz davon abgesehen, dass LoC sich nicht sinnvoll messen lässt.

Klar, wenn ich komplett neuen Code schreibe, geht das. Aber was ist mit Änderungen? Was ist wenn ich Rahmen einer Änderung alte Zeilen lösche? Was ist wenn ich Zeile mehrfach anfasse? etc.
 
J

JustNobody

Mal übrigens ganz davon abgesehen, dass LoC sich nicht sinnvoll messen lässt.

Klar, wenn ich komplett neuen Code schreibe, geht das. Aber was ist mit Änderungen? Was ist wenn ich Rahmen einer Änderung alte Zeilen lösche? Was ist wenn ich Zeile mehrfach anfasse? etc.
Wenn Du Zeilen löschst, dann wird Dir das natürlich vom Gehalt abgezogen ....

Also arbeite für mich - da darfst Du dann auch viel Geld mitbringen und mir zahlen :)
 
J

JustNobody

Das stimmt, man schreibt möglichst immer gleich optimierterten Code. Leider sind Vorgänger oder andere Teammitglieder nicht so einsichtig :D:D:D
Also was meinst Du mit "optimierten Code"? Wenn es bei Optimierung hier auch um Laufzeit gehen sollte, dann wäre meine klare Aussage: "Don't do it" bzw. "Don't do it (yet)".
Siehe z.B. https://clean-code-developer.de/die-grade/roter-grad/#Vorsicht_vor_Optimierungen

Wenn hier optimierter Code lediglich für clean code stehen sollte: Ja, dem stimme ich zu hätte aber andere Worte benutzt.
 
Thema: 

Unverständnis für ":" und "?"

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben