[Java] Parameterübergabe: 2 * 5 wird zu 2 d 5?

Dieses Thema im Forum "Java/Mono/dotGNU" wurde erstellt von daboss, 29.07.2009.

  1. daboss

    daboss Keine Macht für niemand!

    Dabei seit:
    05.01.2007
    Beiträge:
    1.294
    Zustimmungen:
    0
    Ort:
    sydney.australia.world
    Heyho,

    ich wollte eben so einen kleinen billigen Taschenrechner in Java implementieren (und bissl mit RMI und so spielen). Dabei ist eine kleine Beispielrechnung fest eincodiert:
    Code:
    int x, y;
    char chOperator;
    
    // Some default values:
    x = 5;
    y = 4;
    chOperator = '*';
    
    Alternativ kann man über die Kommandozeile beim Programmaufruf entsprechende Parameter übergeben:
    Code:
    // The user can provide some values via command-line,
    // then we expect a string like "<x> <Operator> <y>":
    if (args.length == 3) {
        try {
            x = Integer.parseInt(args[0]);
    	y = Integer.parseInt(args[2]);
    	chOperator = args[1].charAt(0);
        } catch (NumberFormatException e) {
    [...]
    }
    
    Der Operator-Test in switch:
    Code:
    // Calculate according to the operator:
    switch (chOperator) {
    case '+':
    	System.out.println(x + String.valueOf(chOperator) + y + "="
    			+ calc.add(x, y));
    	break;
    case '-':
    	System.out.println(x + String.valueOf(chOperator) + y + "="
    			+ calc.sub(x, y));
    	break;
    //case 'd':
    case '*':
    	System.out.println(x + String.valueOf(chOperator) + y + "="
    			+ calc.mult(x, y));
    	break;
    case '/':
    	System.out.println(x + String.valueOf(chOperator) + y + "="
    			+ calc.div(x, y));
    	break;
    default:
    	System.err.println("Operator " + String.valueOf(chOperator)
    			+ " is not yet supported! Please use one of the following:"
    			+ " +, -, *, /");
    }
    
    Wird die eincodierte Belegung genutzt, läufts wunderbar (auch, wenn ich in Eclipse beim Aufruf Parameter übergebe):
    Code:
    We will now calculate 2 * 4:
    2*4=8
    
    Aber beim Aufruf mit Parametern von der Kommandozeile nicht:
    Code:
    $ java uni.rmi.client.CalculatorClient 2 * 5
    Operator d is not yet supported! Please use one of the following: +, -, *, /
    
    Mit +,-,/ geht's immer und überall. Aber das *-Problem versteh ich nicht ?( Wenn ich den Operator nicht zu char konvertiere, sondern als String stehen lasse (und dann mit equals vergleiche), wird aus * ein "de" ?(

    Hat jemand nen Tipp, wo der Hase falsch läuft, und wie's zu beheben ist? Ich bin im Moment echt ratlos.

    Merci schonmal!
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 bytepool, 29.07.2009
    bytepool

    bytepool Code Monkey

    Dabei seit:
    12.07.2003
    Beiträge:
    791
    Zustimmungen:
    0
    Ort:
    /home/sweden/göteborg
    Hi,

    ich haette da eine Idee, ja....

    Du schreibst nichts davon, dass du das Sternchen quotest. Es wird aber von der shell interpretiert (globbing), bevor es an das Programm weitergegeben wird.

    Eventuell ist das schon der Fehler? ;)

    mfg,
    bytepool
     
  4. daboss

    daboss Keine Macht für niemand!

    Dabei seit:
    05.01.2007
    Beiträge:
    1.294
    Zustimmungen:
    0
    Ort:
    sydney.australia.world
    Arg, tatsächlich. Daran liegts :/

    Danke dir :)
     
Thema:

[Java] Parameterübergabe: 2 * 5 wird zu 2 d 5?

Die Seite wird geladen...

[Java] Parameterübergabe: 2 * 5 wird zu 2 d 5? - Ähnliche Themen

  1. [JAVA] Netbeans wird nicht richtig dargestellt

    [JAVA] Netbeans wird nicht richtig dargestellt: Hi Folks, habe ein Problem mit Netbeans auf meinem privaten Laptop. Ich nutze Sidux und hatte mir von der HP von Netbeans den Installscript...
  2. [Java] JScrollPane funktioniert mit TextArea nicht wie erwartet

    [Java] JScrollPane funktioniert mit TextArea nicht wie erwartet: Heyho, ich wollte in Java eine kleine GUI erstellen. Darin soll sich auch ein JTabbedPane befinden. Die einzelnen Reiter/Tabs sind...
  3. [java]sql Statement bearbeiten

    [java]sql Statement bearbeiten: Hallo beisammen, Ich habe ein kleines Problem bei der Datenbankabfrage. Gegeben sei ein Programm mit Textfeldern, Checkboxen und Comboboxen...
  4. [Java] Datei downloaden?

    [Java] Datei downloaden?: Huhu, ich bastel mir grad ein kleines Programm, das die Daten in nem Ordner mit denen von ner liste ausm internet vergleicht und fehlende items...
  5. [JAVA] CSV Datei parsen

    [JAVA] CSV Datei parsen: Hey Folks! Ok dachte eigentlich das ware ein Standardproblem, welches ich innerhalb von 2min googlen selbst loesen koennte. Doch nach nun fast...