leerzeichen = abbruch!!!

  • Hallo,

    wie kann ich einen String einlesen unter verwendung vom Eprog Package:

    String eingabe = EprogIO.readWord();

    ohne das er bei einem Leerzeichen abbricht????

    MFG
    By Tschebel!

  • Zitat von Tschebel

    Hallo,

    wie kann ich einen String einlesen unter verwendung vom Eprog Package:

    String eingabe = EprogIO.readWord();

    ohne das er bei einem Leerzeichen abbricht????

    MFG
    By Tschebel!

    meine kenntnisse von der eprogIO sind zwar mitlerweile sehr geschrumpft, sowiet ich weis wird dort aber ein Leerzeichen als trennzeichen für eingaben verwendet( wie normalerwiese ENTER).

  • Zitat von Tschebel

    Hallo,

    wie kann ich einen String einlesen unter verwendung vom Eprog Package:

    String eingabe = EprogIO.readWord();

    ohne das er bei einem Leerzeichen abbricht????

    MFG
    By Tschebel!

    da die EprogIO.readWord() Methode so definiert ist ("Reads characters until a whitespace character appears and returns a String") könntest du eine Schleife benutzen.

  • geht mit readWord() laut doku definitiv nicht. entweder du liest (in einer schleife) so viele wörter ein wie du brauchst, oder du verwendest nicht die EprogIO in der form.
    bei dem eprog - angaben solltest du eigentlich immer im vorhinein wissen, wie viele wörter daherkommen werden, außerhalb von eprog würd ich die eprogIO nicht einsetzen ;)

    hi, i'm a signature virus. copy me into your signature to help me spread.

  • Zitat von DGA

    da die EprogIO.readWord() Methode so definiert ist ("Reads characters until a whitespace character appears and returns a String") könntest du eine Schleife benutzen.

    hab' dieses problem ebenfalls...
    wie is das genau gemeint mit der schleife?

  • iirc gibts in der eprogIO kein readLine(), sondern das müsste im BufferedReader definiert sein..

    hi, i'm a signature virus. copy me into your signature to help me spread.

  • Zitat von MaxAuthority

    eprog ist auch schon lange her, aber gibts nicht auch eine funktion readLine() in der EprogIO?

    @volve: schon mal was von while (str = readWord()) ; gehört :)


    nein. sonst hätt ich nicht gefragt. thanx

  • Kleiner Tipp am Rande:
    soweit ich weis gibts keine Eprog angabe wost Leerzeichen miteinlesen musst (sie trennen immer die einzelnen Parameter)...
    sobald du etwas programmierst was nicht für Eprog abgegeben wird nimm keine eprog Funktionen mehr.

    mfg Zentor

  • Zitat von volpe

    hab' dieses problem ebenfalls...
    wie is das genau gemeint mit der schleife?

    Am besten geht es mit do {... }while () .
    Du liest einfach die Strings bis eine Bedingung erfüllt ist, und könntest alles in Schleife ausrechen oder die lesende Strings in eine tämporäre Variable verkettest ( und rechnest alles ausser Schleife ). Es hängt von dem Problem ab.


  • Bitte sehr:

    String in = "";
    while( (in+=(EprogIO.readWord())).charAt( in.length()-1 ) != '\n' );

    Hoffe das hilft weiter ;)

    '100 little bugs in the code, 100 bugs in the code. Fix one bug, compile it again: 101 little bugs in the code.
    101 little bugs in the code . . .'
    Continue until 0 Bugs reached...

  • kurzer hinweis: bei den eprog-angaben ist so eine schleife nicht unbedingt wünschenswert/ kann zu fehlern in der bewertung führen...
    und ausserhalb von eprog für was 'echtes' ist die eprogio nur ziemlich eingeschränkt zu verwenden, da sie zB eof komplett ignoriert

    mfg, chris

    hi, i'm a signature virus. copy me into your signature to help me spread.

  • Zitat von Soulmerge

    Bitte sehr:

    String in = "";
    while( (in+=(EprogIO.readWord())).charAt( in.length()-1 ) != '\n' );

    Hoffe das hilft weiter ;)


    Bin mir nicht sicher, aber ich glaub das funktioniert nicht... Hängt eprogIO wirklich \n an??? Ich glaub das wird einfach nach \n Tokenized...
    mfg Zentor

  • Das einzige Problem derzeit sehe ich bei dieser Angabe:
    Eingabedaten: 

    Eine Funktion, die aus den zuvor spezifizierten Termen bestehen darf. Innerhalb der Funktion sind keine Leerzeichen erlaubt. Differenziert wird nach nach dem ersten erkannten (deutschen) Alphabetszeichen (keine Umlaute), das nicht eine höhere Funktion (wie sin, cos, e) darstellt. Außer dieser Variable sind keine andersnamigen Variablen erlaubt.


    Das ist Beispiel Nr. 4112, Symbolisches differenzieren! Tatsächlich müsste ich den ganzen String überprüfen. Wenn zb. 6a2 4a3 eingegeben werden würde, dann würde er ohne zu meckern 6a2 differenzieren und das wäre laut Spez. ein Fehler, da ein Leerzeichen in der Eingabe vorgekommen ist :confused:

Jetzt mitmachen!

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