Einzelnen Beitrag anzeigen
Alt 18.10.2004, 08:38   #8 (permalink)
Gast
Gast
 

Registriert seit: 22.01.2002
Beiträge: 20.356

Gast befindet sich auf einem aufstrebenden Ast

Standard

Mein Problem ist folgendes.

Ich schreibe erst mal den code

Code:
import java.io.*; 
/** 
    Freewalker 

    @author Freewalker :) NoNachname 
    @date Fr Okt 15 16:46:08 CEST 2004 

*/ 
public class Freewalker 
{ 
    /** tastatur ist außerhalb der Methoden deklariert, um von allen lesenden Methoden verwendet werden zu können, 
        und static, da wir in main darauf zugreifen wollen. 
    */ 
    static BufferedReader tastatur = new BufferedReader(new InputStreamReader(System.in)); 

    /** 

    */ 
    static void standardFehler () 
    { 
        // 'Ihre Eingabe war ungültig' wäre besser 
        System.out.println ("Ihre Eingabe wurde als ungültig erkannt, bitte wiederholen !"); 
    } 

    /** */ 
    static long getGanzZahl (String beschreibung) 
    { 
        System.out.println (beschreibung); 
        long longzahl = 0; 

        while (true) 
        { 
            try 
            { 
                longzahl = Long.parseLong (tastatur.readLine()); 
                return longzahl; 
            } 
            catch (NumberFormatException e) 
            { 
                standardFehler (); 
            } 
            catch (IOException ioe) 
            { 
                ioe.printStackTrace (); 
                System.exit (1); 
            } 
        } 
    } 

    /** */ 
    static double getDoubleZahl (String beschreibung) 
    { 
        System.out.println (beschreibung); 
        double dbl = 0; 

        while (true) 
        { 
            try 
            { 
                dbl = Double.parseDouble (tastatur.readLine()); 
                return dbl; 
            } 
            catch (NumberFormatException e) 
            { 
                standardFehler (); 
            } 
            catch (IOException ioe) 
            { 
                ioe.printStackTrace (); 
                System.exit (2); 
            } 
        } 
    } 

    /** 
        Funktion zum einlesen von einer ZEICHENKETTE (+, -, *, /). 
        Der gewünschte Eingabewert wird über den Parameter beschrieben. 
        Dieser TEXT wird dem Bediener angezeigt. 
        Die Funktion gibt immer eine ZEICHENKETTE zurück. 
        Sollte die eingegebene ZEICHENKETTE nicht "+" oder "-" oder "*" oder "/" sein, 
        so wird die Abfrage mit einer Fehlermeldung wiederholt. 

        @param beschreibung wird auf System.out ausgegeben. 
        @return String bestehend aus einem Zeichen aus der Menge [+-/*]. 
    */ 
    static String getOperator (String beschreibung) 
    { 
        System.out.println (beschreibung); 
        long longzahl = 0; 

        while (true) 
        { 
            String in = null; 
            try 
            { 
                in = tastatur.readLine(); 
            } 
            catch (IOException ioe) 
            { 
                ioe.printStackTrace (); 
                System.exit (3); 
            } 
            if (in.matches ("[\\*/\\+-]")) return in; 
            else standardFehler (); 
        } 
    } 

    /** */ 
    public static void main (String args[]) 
    { 
        new Freewalker (); 
        long ganzZahl = getGanzZahl ("Haben Sie ein int für mich?"); 
        double fliesskommaZahl = getDoubleZahl ("Geben Sie einen Double ein?"); 
        String operator = getOperator ("Welche Rechenoperation darf es sein: [+-*/]"); 
        char op = operator.charAt (0); 
        double erg = 0.0; 
        switch (op) 
        { 
            case '+': erg = ganzZahl + fliesskommaZahl; break; 
            case '-': erg = ganzZahl - fliesskommaZahl; break; 
            case '*': erg = ganzZahl * fliesskommaZahl; break; 
            case '/': erg = ganzZahl / fliesskommaZahl; break; 
        } 
        System.out.println ("" + ganzZahl + " " + operator +  " " + fliesskommaZahl + " = " + erg); 
    } 
}
Und habe ein Fehler und weiss nicht warum?

symbol : method matches (java.lang.String)
location: class java.lang.String
if (in.matches ("[\\*/\\+-]")) return in;
^
1 error


Habt Ihr eine Idee?
Gast ist offline   Mit Zitat antworten