Kann mir jemand sagen warum ich nicht mal rechnen kann ?

charlie20

Mitglied
Java:
public class Calculator2 {
    
    public static void main(String[] args) {
        {
        double ersteZahl = Double.parseDouble(args[0]);
        double zweiteZahl = Double.parseDouble(args[2]);
        char operation = args[1].charAt(0);
        

            switch (operation) {
            case '+':
                System.out.println( ersteZahl + " + " + zweiteZahl + " = " + (ersteZahl + zweiteZahl));
                break;
            case '-':
                System.out.println( ersteZahl + " - " + zweiteZahl + " = " + (ersteZahl - zweiteZahl));
                break;
            case '*':
                System.out.println( ersteZahl + " * " + zweiteZahl + " = " + (ersteZahl * zweiteZahl));
                break;
            case '/':
                System.out.println( ersteZahl + " / " + zweiteZahl + " = " + (ersteZahl / zweiteZahl));
                break;
                
            default:
                System.out.println("Ungültige Operation");
                break;
            }
        }
    }
}
 
Ja, die Problembeschreibung ist sehr umfangreich ... das muss man erst einmal lesen ... aber sobald ich die tollem gute und ausführliche Problembeschreibung gelesen habe, werde ich Dir gerne helfen.

BTW: Mein Auto hat ein Problem. Kannst Du mir sagen, was da falsch ist?
Ach ja: Das Auto ist in einem hellen Metallic blau/grau.
 
@charlie20 ich würde dir auch gerne helfen, aber kannst du mir vielleicht zuerst beantworten, warum etwas in diesem Programm nicht funktioniert?
Java:
public class Main {
  public static void main(String[] args) {
    System.out.println("Funktioniert!");
  }
}
 
Wenn es weiter um dieses Problem geht, dann wäre es besser gewesen, in dem Thread zu bleiben.

Und dann wäre die erste Frage, was er da genau treibt. Also die genaue Umgebung:
  • Betriebssystem
  • Wie startet er es wo. Git Shell ist genannt gewesen, aber da ist dann eh die Frage: Wie kommt man auf die Idee, in so einer limitierten Umgebung sowas machen zu wollen? Unter Windows hätte ich viel Verständnis für Eingabeaufforderung, PowerShell, WSL, ... Selbst Cygwin würde ich noch akzeptieren. Aber die bash von der Git Installation ist nun wirklich das, was ich absolut nicht verwenden würde.
 
@weihnachtspyromane

Nenne doch bitte mal eine Shell, irgendeines beliebigen OS, in der das Zeichen * nicht ein Wildcardzeichen ist.

Im Übrigen bringt dieses Korinthen absondern dem TO exakt null.

Dieser wollte wissen, warum man dieses Zeichen nicht einfach so als Argument übergeben kann, sondern es in seinem Fall als Character übergeben muss, um zu seinem gewünschten Ergebnis zu kommen.

Und genau das, hat @yfons123 beantwortet.
 
@weihnachtspyromane
Hallo Hanswurst,

warum greifst du mich an?
dieses Korinthen absondern
ist nicht gerade meine bevorzugte Umgangsform.

Dieser wollte wissen, warum man dieses Zeichen nicht einfach so als Argument übergeben kann, sondern es in seinem Fall als Character übergeben muss, um zu seinem gewünschten Ergebnis zu kommen.
Darum hätte es gehen können, wenn der TO irgendetwas davon geschrieben hätte...

Ich setze dich dann mal auf ignore. Schade
 
Was es nur unter Windows gäbe, wäre die Eingabeaufforderung. (Wobei das auch durch Tools läuft). PowerShell ist Multi Plattform und die Unix Shells sind auch auf Windows verfügbar.

Daher sehe ich auch nicht, wo es eine Abhängigkeit zum Betriebssystem geben würde. Nicht desto trotz erwarte ich auch, dass so Informationen gegeben werden bei dieser Art von Problemen.
 
die Eingabe Aufforderung kann man auch mit wine aufrufen, hat halt einen anderen namen
Ja, das war auch meine Idee, wobei ich Crossover nutze - Wine war zumindest inder Vergangenheit immer etwas zu Benutzerunfreundlich.

Die wineconsole ist aber meines WIssens keine Portierung der cmd.exe. Aber man kann über den Emulator natürlich auch die cmd.exe selbst laufen lassen (Wenn man mal von der Lizenz absieht. Aber wenn man eine Windows Lizenz hat, dann wäre das auch kein Thema).

Aber ich bin eh der Meinung, dass man sich hier nicht krampfhaft die wildesten Konstellationen überlegen sollte. Wie man auf die Idee kommt, in einer git bash arbeiten zu wollen, wird sich mir nie erschließen! Die Bash ist doch nur ein kleiner Baustein - ohne die ganzen GNU Tools drumherum ist die nichts wert. Wer sowas also will unter Windows, der sollte da
  • entweder die komplette Lösung installieren (cygwin würde mir da einfallen)
  • WSL nutzen. Mit WSL2 ist das nun wirklich eine gute Sache - sogar mit XServer unterstützung. (Dazu bin ich sogar damals auf die WIndows 10 Insider Builds umgestiegen ... Aber dann hat Microsoft die Hardware Latte so hoch gelegt mit windows 11, dass ich was Neues brauchte ... und vernünftige Notebooks sind nicht groß günstiger als ein MacBook und so bin ich dann umgestiegen auf einen Mac.)

Gerade als Anfänger sollte man nicht auf so komische Umgebungen setzen, die dann alles erschweren. Es gibt genug Stolpersteine - da muss man nicht krampfhaft zusätzliche Stolpersteine suchen. Und unter Windows kann dann die PowerShell der Beste Weg sein (Also noch nicht einmal die Eingabeaufforderung!)

Aber da dürften wir nicht groß unterschiedlicher Meinung sein - Du nutzt ja auch die PowerShell so ich das richtig mitbekommen habe 🙂
 
Java:
public class Calculator2 {
    
    public static void main(String[] args) {
        if (args.length != 3) {
            System.out.println("Ungültige Anzahl an Argumenten. Bitte geben Sie zwei Zahlen und eine Operation (+, -, * oder /) an.");
            return;
        }

        double ersteZahl;
        try {
            ersteZahl = Double.parseDouble(args[0]);
        } catch (NumberFormatException e) {
            System.out.println("Ungültige erste Zahl: " + args[0]);
            return;
        }

        double zweiteZahl;
        try {
            zweiteZahl = Double.parseDouble(args[2]);
        } catch (NumberFormatException e) {
            System.out.println("Ungültige zweite Zahl: " + args[2]);
            return;
        }

        char operation = args[1].charAt(0);
        switch (operation) {
            case '+':
                System.out.println( ersteZahl + " + " + zweiteZahl + " = " + (ersteZahl + zweiteZahl));
                break;
            case '-':
                System.out.println( ersteZahl + " - " + zweiteZahl + " = " + (ersteZahl - zweiteZahl));
                break;
            case '*':
                System.out.println( ersteZahl + " * " + zweiteZahl + " = " + (ersteZahl * zweiteZahl));
                break;
            case '/':
                System.out.println( ersteZahl + " / " + zweiteZahl + " = " + (ersteZahl / zweiteZahl));
                break;
            default:
                System.out.println("Ungültige Operation: " + operation);
                break;
        }
    }
}
 

Zurück
Oben