+ Antworten
Ergebnis 1 bis 8 von 8

Thema: Javaproblem

  1. #1
    TP-Veteran Guin ist ein richtiges Arbeitstier - DANKE Guin ist ein richtiges Arbeitstier - DANKE Guin ist ein richtiges Arbeitstier - DANKE Guin ist ein richtiges Arbeitstier - DANKE Guin ist ein richtiges Arbeitstier - DANKE Avatar von Guin
    Registriert seit
    Nov 2006
    Ort
    Nordholz
    Beiträge
    1.686

    Javaproblem

    Hallo Leute. (ich wusste nicht so recht wohin mit diesem Thema)
    Ich bin gezwungen mich nun mit Java auseinander zu setzen.

    Hier eine Schilderung fuer Java Experten.

    Bei einem kleinen Test ist mir etwas mir nicht Verstaendliches aufgefallen.

    Hier das Skript (es soll das Eingegebene [3 Techniken] wieder ausgeben)
    Code:
    import java.io.* ;
    /**
     * Class Eingabe
     * Dateiname: Eingabe.java
     * @version 1.00, 21.03.2007
     *
     */
    
    public class Eingabe
    {
           /** Methode main startet das Programm. Es es werden insgesamt
           * drei Eingaben erwartet.
           *@Param String[] args Übergabeparameter des Programmaufrufs
           */
      public static void main(String[] args)   throws IOException
      {      // wir leiten die Exception einfach
             //nach oben weiter, nicht unser Problem
             
        /** Variable enthaelt den Integerwert des eingegebenen Zeichens
        * bei Einbae 1 und Eingabe 2.*/
        int i=32;
        /** Variable enthaelt den String der dritten Eingabe.*/
        String expr = new String();
    // 1. Eingabe
        System.out.print("\nEingabe bitte: ");
        i=System.in.read();
        System.in.skip(System.in.available());
        System.out.println(" Char: "+ (char)i +
                     "\n Eingabetechnik: System.in.read() OHNE Ausnahmebehandlung");
    // 2. Eingabe
        System.out.print("\n\nEingabe bitte: ");
        try{        // versuch doch mal, ob's klappt
        i=System.in.read();     // zweite Eingabe: Einzelzeichen
        System.in.skip(System.in.available());   // Eingabespeicher leeren
        } // try
        catch (java.io.IOException e){
        System.err.println("Eingabefehler: "+e.toString());
        } // catch (java.io.IOException)
        System.out.println(" Char: "+ (char)i +
                    "\n Eingabetechnik: System.in.read() MIT Ausnahmebehandlung");
    // 3. Eingabe
        BufferedReader In = new BufferedReader (new InputStreamReader (System.in));
    
        System.out.print ("\nEingabe: ");
        expr = In.readLine();
        System.out.println(" String: "+ expr +"\n Eingabetechnik: BufferedReader");
      }// main(String[] args)
    } // public class Eingabe
    Um den Eingabepuffer zu "leeren" verwende ich skip()
    "System.in.skip(System.in.available());"
    Mit dieser Methode (mit available() ) kommt es zu keiner Exception wenn ich als Eingabe ^Z ([strg]+z) taetige.
    Wenn ich
    System.in.skip(200);
    benutze, dann kommt es zu einer Exception.

    Woran liegt dieser Unterschied?
    Win XP SP2, Java 1.6

    [edit] Danke, das Unterforum habe ich uebersehen.
    Geändert von Guin (16.09.2008 um 11:53 Uhr)
    Gruss Guin
    Mein Blog

  2. #2
    TP-Special Mod TP-Sponsor Thomas ist einer der Eckpfeiler des TP - ohne ihn geht nichts Thomas ist einer der Eckpfeiler des TP - ohne ihn geht nichts Thomas ist einer der Eckpfeiler des TP - ohne ihn geht nichts Thomas ist einer der Eckpfeiler des TP - ohne ihn geht nichts Thomas ist einer der Eckpfeiler des TP - ohne ihn geht nichts Thomas ist einer der Eckpfeiler des TP - ohne ihn geht nichts Thomas ist einer der Eckpfeiler des TP - ohne ihn geht nichts Thomas ist einer der Eckpfeiler des TP - ohne ihn geht nichts Thomas ist einer der Eckpfeiler des TP - ohne ihn geht nichts Thomas ist einer der Eckpfeiler des TP - ohne ihn geht nichts Thomas ist einer der Eckpfeiler des TP - ohne ihn geht nichts Avatar von Thomas
    Registriert seit
    May 2001
    Ort
    Arnsberg - Sauerland
    Beiträge
    21.326

    Arrow

    Zitat Zitat von Guin
    (ich wusste nicht so recht wohin mit diesem Thema)
    habe mal in's java(script)-Brett verschoben

  3. #3
    TP-Moderator Malleus ist ein richtiges Arbeitstier - DANKE Malleus ist ein richtiges Arbeitstier - DANKE Malleus ist ein richtiges Arbeitstier - DANKE Malleus ist ein richtiges Arbeitstier - DANKE Avatar von Malleus
    Registriert seit
    Aug 2004
    Ort
    Homburg / Saarland
    Beiträge
    711
    Hallo Guin,

    "Java" ist nicht "Javascript". Du solltest Dir daher mit Google ein reines JAVA-Forum suchen.

    Sorry, daß wir Dir hier nicht helfen können.

    Tschau

    Frank

  4. #4
    TP-Special Mod TP-Sponsor Thomas ist einer der Eckpfeiler des TP - ohne ihn geht nichts Thomas ist einer der Eckpfeiler des TP - ohne ihn geht nichts Thomas ist einer der Eckpfeiler des TP - ohne ihn geht nichts Thomas ist einer der Eckpfeiler des TP - ohne ihn geht nichts Thomas ist einer der Eckpfeiler des TP - ohne ihn geht nichts Thomas ist einer der Eckpfeiler des TP - ohne ihn geht nichts Thomas ist einer der Eckpfeiler des TP - ohne ihn geht nichts Thomas ist einer der Eckpfeiler des TP - ohne ihn geht nichts Thomas ist einer der Eckpfeiler des TP - ohne ihn geht nichts Thomas ist einer der Eckpfeiler des TP - ohne ihn geht nichts Thomas ist einer der Eckpfeiler des TP - ohne ihn geht nichts Avatar von Thomas
    Registriert seit
    May 2001
    Ort
    Arnsberg - Sauerland
    Beiträge
    21.326
    [OT]
    Zitat Zitat von Malleus Beitrag anzeigen
    Hallo Guin,
    "Java" ist nicht "Javascript".
    ich hab's hierher verschoben, weil ich dachte, es sei hier am sinnvollsten aufgeboben
    auch wenn ich wusste, dass java nicht gleich javascript ist
    [/OT]

  5. #5
    TP-Specialist rewboss ist ein richtiges Arbeitstier - DANKE rewboss ist ein richtiges Arbeitstier - DANKE rewboss ist ein richtiges Arbeitstier - DANKE rewboss ist ein richtiges Arbeitstier - DANKE rewboss ist ein richtiges Arbeitstier - DANKE rewboss ist ein richtiges Arbeitstier - DANKE Avatar von rewboss
    Registriert seit
    Mar 2005
    Ort
    Unterfranken
    Beiträge
    2.639
    Naja, es gab schon mal andere Threads zum Thema Java; die waren allerdings (wenn ich mich nicht irre) im Traum-Dynamik-Forum. Java gehört ja nicht einmal zum Thema Web-Design, wie HTML, JavaScript und CSS.

  6. #6
    TP-Veteran Guin ist ein richtiges Arbeitstier - DANKE Guin ist ein richtiges Arbeitstier - DANKE Guin ist ein richtiges Arbeitstier - DANKE Guin ist ein richtiges Arbeitstier - DANKE Guin ist ein richtiges Arbeitstier - DANKE Avatar von Guin
    Registriert seit
    Nov 2006
    Ort
    Nordholz
    Beiträge
    1.686
    Also doch wieder zurueck nach smalltalk

    Dies ist nicht das einzige Forum, wo ich gefragt, habe... Bisher konnte mir aber niemand das Phaenomen ganz schluessig erklaeren.

    Vermutungen habe ich allerdings nun, woran es liegt (ist aber noch nicht spruchreif).
    Gruss Guin
    Mein Blog

  7. #7
    TP-Special Mod TP-Sponsor Thomas ist einer der Eckpfeiler des TP - ohne ihn geht nichts Thomas ist einer der Eckpfeiler des TP - ohne ihn geht nichts Thomas ist einer der Eckpfeiler des TP - ohne ihn geht nichts Thomas ist einer der Eckpfeiler des TP - ohne ihn geht nichts Thomas ist einer der Eckpfeiler des TP - ohne ihn geht nichts Thomas ist einer der Eckpfeiler des TP - ohne ihn geht nichts Thomas ist einer der Eckpfeiler des TP - ohne ihn geht nichts Thomas ist einer der Eckpfeiler des TP - ohne ihn geht nichts Thomas ist einer der Eckpfeiler des TP - ohne ihn geht nichts Thomas ist einer der Eckpfeiler des TP - ohne ihn geht nichts Thomas ist einer der Eckpfeiler des TP - ohne ihn geht nichts Avatar von Thomas
    Registriert seit
    May 2001
    Ort
    Arnsberg - Sauerland
    Beiträge
    21.326

    Arrow

    Zitat Zitat von Guin Beitrag anzeigen
    Also doch wieder zurueck nach smalltalk
    ok, ok

  8. #8
    TP-Veteran Guin ist ein richtiges Arbeitstier - DANKE Guin ist ein richtiges Arbeitstier - DANKE Guin ist ein richtiges Arbeitstier - DANKE Guin ist ein richtiges Arbeitstier - DANKE Guin ist ein richtiges Arbeitstier - DANKE Avatar von Guin
    Registriert seit
    Nov 2006
    Ort
    Nordholz
    Beiträge
    1.686
    So.. Loesung (falls mal jemand hier danach suchen sollte):

    ^Z ([strg]+z) = EOF (Stream wird geschlossen)

    skip(200) ueberspringt dieses EOF und will den Puffer aus dem Stream nachladen, was aber nicht klappt (weil weil kein Stream offen ist).

    available() sieht das EOF im Puffer und liefert 0 zurueck.
    skip(available()) wurde also skip(0) bedeuten und somit keinen Fehler werfen.

    Das ist der ganze Zauber.

    PS: ich bitte die etwas lainenhafte Erklaerung zu entschuldigen. Besser kann ich es nicht ausdruecken.
    Geändert von Guin (28.03.2007 um 20:03 Uhr)
    Gruss Guin
    Mein Blog

+ Antworten

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51