Kenn mi net aus!!!!1
Results 1 to 12 of 12
  1. #1

    Title
    Dipl.Ing
    Join Date
    May 2002
    Posts
    1,074
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Kenn mi net aus!!!!1

    Hi,

    ich werde jetzt mal einen Ausschnitt aus einem Code posten. Dazu hätte ich dann einige Fragen, bitte helft mir sonst wird das heuer wieder nicht. ;-)


    public class hockk extends EprogIO {
    public static void main (String[] args) throws EprogException {

    // Hier fängst schon an, warum "throws EprogException"? (notwendig?)

    int countwords=0; // Zähler für Wörter
    int charcount=0; //Zähler für Buchstaben
    int counthochk=0; //Zähler für Hochkomma
    String einlesen="";
    String echecken="";
    String ausgeben="";

    String onlyuse= "abcdefghijklmnopqrstuvwxyz.\"";

    boolean useit = false;
    boolean fehlerflag = false;

    //jetzt in diesem Absatz wieder
    while ((einlesen.eqals(".")==false)&&(useit==false))
    {
    if (einlesen.startsWith("\"")&&(useit==false))
    {useit=true;
    einlesen=einlesen.substring(1);
    charcount--;
    counthochk++;
    }

    //was bedeutet dieser Absatz? wie komme ich auf das einlesen.startsWith("\"")

    Ich weiss das ist nur ein grober Auszug, aber vielleicht kann mir das jemand erklären, ansonsten werde ich den ganzen Code posten, den ich bin echt schon verzweifelt.

    mfg crow

  2. #2

    Title
    Elite
    Join Date
    Jan 2002
    Posts
    314
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Re: Kenn mi net aus!!!!1

    Original geschrieben von Crow
    public static void main (String[] args) throws EprogException {
    // Hier fängst schon an, warum "throws EprogException"? (notwendig?)
    also anscheinend wird in deinem programm eine Methode aus der Eprogio aufgerufen, die, wenn irgendein Fehler auftritt, eine EprogException wirft. (Ich nehme mal an, dass das eine Methode zum einlesen irgendwelcher zeichen sein wird) Und wenn irgendwo in deiner methode eine exception geworfen werden kann, musst du die mit try-catch entweder selber abfangen, oder mit "throws EprogException" im kopf deiner methode signalisieren, dass die Exception an die weitergereicht wird (in deinem fall heißt das iirc, dass eine fehlermeldung auf System.err ausgegeben wird)

    über exceptions allgemein gibts mehr unter: http://java.sun.com/docs/books/tutor...ons/index.html


    Original geschrieben von Crow

    //was bedeutet dieser Absatz? wie komme ich auf das einlesen.startsWith("\"")
    da musst du uns schon den genzen sourcecode posten... und hast du auch eine beschreibung, was das programm als ganzes tun soll?
    hi, i'm a signature virus. copy me into your signature to help me spread.

  3. #3

    Title
    Dipl.Ing
    Join Date
    May 2002
    Posts
    1,074
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Danke einmal. Ich werde dir hier jetzt den vollständigen Code + Beschreibung posten:


    Aufgabenstellung:
    Ihr Programm soll einen Satz einlesen. Der Satz besteht aus einem oder mehreren Wörtern und wird durch einen Punkt (".", wird als eigener String eingelesen) abgeschlossen.
    Alle Wörter dieses Satzes, die in Hochkommas (") eingeschlossen sind, sollen ausgegeben werden (aber ohne die Hochkommas). Einzelne Hochkommas dürfen immer nur am Anfang oder Ende eines Wortes auftreten.
    Bsp.: Wort1 "Wort2 Wort3" => Wort2 Wort3

    Drei Hochkommas hintereinander am Anfang oder Ende eines Wortes bedeuten, daß auch in der Ausgabe EIN Hochkomma an der betreffenden Stelle erscheinen soll.

    Auch im Inneren eines Wortes können zwei Hochkommas hintereinander auftreten; hier soll ebenfalls ein Hochkomma ausgegeben werden (falls das Wort überhaupt ausgegeben wird).

    Eingabedaten:
    Lesen Sie zuerst den Satz ein, wobei dieser aus mindestens einem und maximal zwölf Wörtern zu maximal 15 Buchstaben bestehen darf.
    Außer dem Abschlußpunkt, der als eigener String einzugeben ist, und den Hochkommas dürfen nur Groß- und Kleinbuchstaben verwendet werden. (Umlaute wie z.B. "ä", "Ö", "ß", " ", "“" sind nicht erlaubt).

    Ausgabedaten:
    Bei korrekten Eingabedaten sind alle in Hochkommas eingeschlossenen Wörter, getrennt durch jeweils ein Leerzeichen, auszugeben; anschließend ein Zeilenvorschub.
    Konnte kein einziges Hochkomma im Satz gefunden werden, so soll Ihr Programm die Meldung "KEINE MARKIERUNG", gefolgt von einem Zeilenvorschub, ausgeben.

    Fehlerbehandlung:
    Sämtliche Eingabedatensätze sind immer vollständig einzulesen. Generell wird bei fehlerhaften Eingabedatensätzen nur eine einzige Fehlermeldung erzeugt, weitere Berechnungen werden nicht mehr durchgeführt.
    Sind die eingegebenen Daten inhaltlich nicht korrekt , so soll Ihr Programm "FALSCHE EINGABE", gefolgt von einem Zeilenvorschub, ausgeben.


    public class hochk extends EprogIO {
    public static void main(String[] args) throws EprogException {
    //Defintition der Variablen
    int countwords=0; //Zaehler fuer Woerter
    int charcount=0; // Zähler fuer Buchstaben
    int counthochk=0; // Zaehler fuer Hochkommas
    String einlesen=""; // Hier wird die Eingabe gespeichert
    String echecken=""; // Hier wird die Eingabe zwecks Ueberpruefung zwischengespeichert
    String ausgeben=""; // Hier wird die Ausgabe gespeichert
    String onlyuse= "abcdefghijklmnopqrtsuvwxyz.\""; // Nur die hier definierten Zeichen duerfen in der Eingabe verwendet werden
    boolean useit = false; // Das ist ein Flag. useit wird auf true gesetzt wenn das Wort in die Ausgabe aufgenommen werden soll.
    boolean fehlerflag=false; // fehlerflag==true --> bei Formfehlern in der Eingabe

    while ((einlesen.equals(".")==false)&&(fehlerflag==false ))
    {
    if (einlesen.startsWith("\"")&&(useit==false))
    {useit=true;
    einlesen=einlesen.substring(1);
    charcount--;
    counthochk++;
    }
    if (einlesen.endsWith("\"")&&(useit==true))
    { einlesen=einlesen.substring(0, einlesen.length()-1);
    useit=false;
    ausgeben+=einlesen+" ";
    charcount--;
    counthochk--;
    }
    if ((einlesen.equals("")==false)&&(einlesen.equals(". ")==false) && useit == true)
    {
    ausgeben+=einlesen+" ";
    }
    einlesen = readWord();
    countwords++;
    charcount = einlesen.length();
    if (charcount>15)
    {
    fehlerflag=true;
    }
    echecken=einlesen.toLowerCase();
    for (int i = 0; i < echecken.length(); i++)
    {
    if (onlyuse.indexOf(echecken.charAt(i)) == -1)
    {
    fehlerflag=true;
    }
    }
    }
    if (counthochk!=0) fehlerflag=true;
    if ((countwords>12))
    fehlerflag=true;
    if (fehlerflag==false)
    {
    ausgeben.trim();
    if (ausgeben.length()==0) print("KEINE MARKIERUNG"+"\n");
    else print(ausgeben+"\n");
    }
    else print("FALSCHE EINGABE"+"\n");
    }
    }

  4. #4
    Wings-of-Glory's Avatar
    Title
    CO-Administrator
    Join Date
    Jan 2002
    Posts
    4,001
    Thanks
    347
    Thanked 504 Times in 266 Posts
    LOL Das ist ja das Programm, dass ich geschrieben hatte!

    //was bedeutet dieser Absatz? wie komme ich auf das einlesen.startsWith("\"")
    Die Variable einlesen ist vom Typ String.
    String bietet etliche Methoden an, darunter eben auch startsWith() .
    einlesen.startsWith("\"")
    /*überprüft, ob der String einlesen mit einem Hochkomma beginnt */
    Last edited by Wings-of-Glory; 26-09-2002 at 16:42.
    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

  5. #5
    lj_scampo's Avatar
    Title
    Baccalaureus
    Join Date
    Mar 2002
    Posts
    582
    Thanks
    0
    Thanked 0 Times in 0 Posts
    *gg* Ich hoffe, Du kennst Dich noch aus, in Dinem Code

  6. #6
    Wings-of-Glory's Avatar
    Title
    CO-Administrator
    Join Date
    Jan 2002
    Posts
    4,001
    Thanks
    347
    Thanked 504 Times in 266 Posts
    Falls ich mich nicht mehr auskenne, habe ich noch eine Entschuldigung: Das war mein 1. Programm!
    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

  7. #7

    Title
    Dipl.Ing
    Join Date
    May 2002
    Posts
    1,074
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Ja genau stand dabei, dass das von dir ist. Hoffe du kannst mir weiterhelfen wenn ich dabei Probleme entdecke. Ich hab zwar schon im 1.Semester EPROG gehabt. Aber das wahr wohl nichts.

    Das Problem ist, das ich noch grundlegende Fragen habe. Aber ich kann erst wieder morgen mittag weitermachen. Ich hoffe du hilfst mir. Machst du doch? ;-) und alle anderen auch, oder? :-))

    Thanks schon mal für die eine Erklärung.

    mfg crow

  8. #8

    Title
    Dipl.Ing
    Join Date
    May 2002
    Posts
    1,074
    Thanks
    0
    Thanked 0 Times in 0 Posts
    P.S. Einen Frage hätte ich doch gleich, wo finde ich das welche Funktionen STRING hat? Im Horton???

    mfg crow

  9. #9
    Wings-of-Glory's Avatar
    Title
    CO-Administrator
    Join Date
    Jan 2002
    Posts
    4,001
    Thanks
    347
    Thanked 504 Times in 266 Posts
    Mach ich gern... aber ich kann nicht versprechen, dass ich regelmäßig Zeit haben werde.
    Ich hoffe, dass trotz meines "Outings" sich auch andere an diesm Topic beteiligen werden.
    Bitte bitte... gebt auch euren Senf dazu
    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

  10. #10

    Title
    Elite
    Join Date
    Jan 2002
    Posts
    314
    Thanks
    0
    Thanked 0 Times in 0 Posts
    http://java.sun.com/j2se/1.3/docs/api/&nbsp; und dort im frame links unten "String" auswählen...

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

  11. #11
    Wings-of-Glory's Avatar
    Title
    CO-Administrator
    Join Date
    Jan 2002
    Posts
    4,001
    Thanks
    347
    Thanked 504 Times in 266 Posts
    Original geschrieben von Crow
    P.S. Einen Frage hätte ich doch gleich, wo finde ich das welche Funktionen STRING hat? Im Horton???

    mfg crow
    ja, entweder in einem Büchl.. oder nach dem Motto: "Bildung kommt von Bildschirm..."
    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

  12. #12

    Title
    Master
    Join Date
    Jun 2002
    Location
    Vienna
    Posts
    140
    Thanks
    0
    Thanked 0 Times in 0 Posts
    der link zur api-doc ist ja schon oft genug da! tip am rande: bookmarken!! das zeug braucht man oft! noch ein paar tips: java nur mit der vo zu lernen is etwas kompliziert... ein gutes buch bei der hand schadet nie! voriges jahr hat der den horton empfohlen, mit dem ich persönlich aber nicht kann (beispiele und stoff laufen auseinander)... ich empfehle allen das buch 'Java-how to program' von 'Deitel'... da gibts eine neue auflage... ich hab die vorletzte... aber die neue dürfte auch ganz gute sein (hoffe ich doch!)...

    und zur programmierumgebung: emacs liegt nicht jedem... <flame> ich persönlich bevorzuge vim (für was hat man ne tastatur!) </flame>
    es gibt eine reihe grafischer ide's am markt die entweder unter gpl sind (nix kosten) oder für privatanwender gratis sind.
    zum bleistift Netbeans oder Eclipse. Eclipse ist mein Favorit!! und die Aktuellen J2SDK's gibts bei Sun.
    Viel spass beim eproggn noch und ausserdem ... USE LINUX - um die Welt hinter dem Fenster zu sehn!

    Roland
    Last edited by BigBlue; 08-10-2002 at 08:54.
    Jeder hat das Betriebssystem das er verdient.
    LINUX - Divide et Impera!

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •