• ICH wuerds mit regexs machen, jakarta's ORO oder apache regexp bzw. im 1.4er JDK sinds eh dabei; wenn du's allerdings nur an der einen Stelle fuer dein Projekt brauchst,dann sollte string.getChars(...) und eine ueberpruefung der einzelnen characters auch reichen

    this is Unix land. In silent nights, you can hear Windows machines reboot...

  • Naja, in EPROG is zB leider nur JDK 1.3.1 erlaubt. Die meisten Aufgaben ließen sich mit ein paar regexps in 1/3 der Zeilen lösen...

    [font=verdana,sans-serif]"An über-programmer is likely to be someone who stares quietly into space and then says 'Hmm. I think I've seen something like this before.'" -- John D. Cock[/font]

    opentu.net - freier, unzensierter Informationsaustausch via IRC-Channel!
    Hilfe und Support in Studienangelegenheiten, gemütliches Beisammensein, von und mit Leuten aus dem Informatik-Forum!

  • hm, das hat jetzt sicher alle klarheiten beseitigt =)

    am schnellsten löst du das indem du die parseLong - methode aus dem long-wrapper vergewaltigst:

    String dta = "FF34ABC";
    try
    {
    Long.parseLong(dta,16);
    }
    catch(NumberFormatException nofx)
    {
    // falsche zeichen
    }

    der versucht den hex-string (basis 16) in einen long umzuwandeln, und das gelingt
    logischerweise nur falls der string keine ungültigen zeichen enthält

    mfg
    art

    "A nation that limits freedom in the name of security will have neither."
    - Thomas Jefferson, The United States of America's 3rd President

  • danke,aber das mit dem Hex war nur ein beispiel.
    was ich konkret machen will ist:
    gülitge eingabe:0-9,ende(zum beenden des progs ;) )
    alles andere=>fehler
    werd mir also wohl mal regex anschaun müssen.wird eh ned so schwer sein.

    ALL GLORY TO THE HYPNO TOAD...

  • hmm für die zahlen ist klar:
    Pattern p = Pattern.compile("(0-9)*");
    Matcher m = p.matcher("input");
    boolean b = m.matches();

    aber wie such ich nach "ende" ?
    einfach:
    Pattern p = Pattern.compile("end");
    Matcher m = p.matcher("input");
    boolean b = m.matches();
    ?

    ALL GLORY TO THE HYPNO TOAD...

  • Zitat

    Original geschrieben von Shade
    danke,aber das mit dem Hex war nur ein beispiel.
    was ich konkret machen will ist:
    gülitge eingabe:0-9,ende(zum beenden des progs ;) )
    alles andere=>fehler
    werd mir also wohl mal regex anschaun müssen.wird eh ned so schwer sein.


    schau dir mal bsp. 'hochk' an: http://eprog.sourceforge.net/eprog/1025/0126071/

    Otto: Apes don't read philosophy. - Wanda: Yes they do, Otto, they just don't understand
    Beleidigungen sind Argumente jener, die über keine Argumente verfügen.
    «Signanz braucht keine Worte.» | «Signanz gibts nur im Traum.» 

    Das neue MTB-Projekt (PO, Wiki, Mitschriften, Ausarbeitungen, Folien, ...) ist online
    http://mtb-projekt.at

  • mit regex klappts wunderbar.
    mein problem ist wohl meine input leser.
    ich lese mit

    public static String input()
    throws IOException
    {String in=new String();
    BufferedReader input=new BufferedReader(new InputStreamReader(System.in));
    in=input.readLine();
    return in;
    }

    aber wenn ich jetzt zb prüfe ob
    input="beliebiger String"
    ist krieg ich immer false.
    wieso :confused:

    ALL GLORY TO THE HYPNO TOAD...

  • input.equals("irgendwas") vielleicht? "==" vergleicht Referenz (entspricht ca. Pointer), ".equals()" vergleicht den Inhalt...

    Why bother spending time reading up on things? Everybody's an authority, in a free land.

  • yop daran lags.hab schon gedacht das es sowas sein muss(nachdem ich alles andere ausgeschlossen hab) wusst aber nicht genau was.
    naja jetzt hab ich das programm perfekt fertig.
    Fazit:
    Zeitaufwand=
    Programmieren&Entwickeln&etc=30%
    Debugging=70%

    ALL GLORY TO THE HYPNO TOAD...

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!