BlueJ Problem: "else" without "if"

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • BlueJ Problem: "else" without "if"

    hi
    ich lerne grade Java Blue J. Im Moment bin ich noch ganz am Anfang, habe aber schon ein Problem.
    In der 32. Zeile bei dem Befehl "else" bekomm ich immer eine Fehler Meldung: "else" without "if".
    Was mach ich falsch bzw wie beheb ich das?

    Quellcode

    1. import sum.kern.*;
    2. /**
    3. * @author tim
    4. * @version 24.08.07
    5. */
    6. public class Test
    7. {
    8. // Objekte
    9. Bildschirm derBildschirm;
    10. Stift meinStift;
    11. Maus dieMaus;
    12. // Konstruktor
    13. public Test()
    14. {
    15. derBildschirm = new Bildschirm();
    16. meinStift = new Stift();
    17. dieMaus = new Maus();
    18. }
    19. // Dienste
    20. public void fuehreAus()
    21. {
    22. // Aktionsteil
    23. do
    24. {
    25. if (dieMaus.istGedrueckt());
    26. {
    27. meinStift.bewegeBis(dieMaus.hPosition(),dieMaus.vPosition());
    28. meinStift.runter();
    29. }
    30. else
    31. {
    32. meinStift.hoch();
    33. }
    34. }
    35. } while (!dieMaus.doppelKlick());
    36. // Aufraeumen
    37. dieMaus.gibFrei();
    38. meinStift.gibFrei();
    39. derBildschirm.gibFrei();
    40. }
    41. }
    Alles anzeigen


    mfg Alex
  • Hi ich hab nochmal ein Problem bei deiner Aufgabe:

    Bei einem Druck des Mausknopfs wird an der Mausposition ein Punkt gezeichnet.
    Dieser wird mit einer geraden Linie mit der Mausposition im Moment des Loslassens
    des Mausknopfs verbunden. Das Programm soll ansonsten wieder mit einem Doppel- Doppelklick
    beendet werden.

    Mein Lösung sieht erstmal so aus. Aber irgendwie funktioniert es nicht richtig.

    Quellcode

    1. import sum.kern.*;
    2. /**
    3. * @author
    4. * @version
    5. */
    6. public class test
    7. {
    8. // Objekte
    9. Bildschirm derBildschirm;
    10. Stift meinStift;
    11. Maus dieMaus;
    12. // Konstruktor
    13. public test()
    14. {
    15. derBildschirm = new Bildschirm();
    16. meinStift = new Stift();
    17. dieMaus = new Maus();
    18. }
    19. // Dienste
    20. public void fuehreAus()
    21. {
    22. // Aktionsteil
    23. do
    24. {
    25. if (dieMaus.istGedrueckt())
    26. {
    27. meinStift.bewegeBis(dieMaus.hPosition(),dieMaus.vPosition());
    28. if (dieMaus.istGedrueckt())
    29. {
    30. meinStift.hoch();
    31. }
    32. else
    33. {
    34. meinStift.runter();
    35. meinStift.bewegeBis(dieMaus.hPosition(),dieMaus.vPosition());
    36. }
    37. }
    38. else
    39. {
    40. meinStift.hoch();
    41. }
    42. } while (!dieMaus.doppelKlick());
    43. // Aufraeumen
    44. meinStift.gibFrei();
    45. dieMaus.gibFrei();
    46. derBildschirm.gibFrei();
    47. }
    48. }
    Alles anzeigen
  • die wenigsten hier werden bluej bzw diese klassen dazu nutzen. Habt ihr die in der Schule bekommen? Deutsche Namen sind sehr ungewohnt *g*
    Kommentiere deine Methoden also mal, damit wir wissen was passiert. Dabei auch die Einrückungen nicht vergessen.
    Und überhaupt: WAS klappt denn eigentlich nicht?

    Ruft BlueJ die void Methode fuehreAus denn automatisch auf? Ansonsten fehlt eine main Methode. Bzw. ein eigener Aufruf, falls BlueJ den Konstruktor von test aufruft.

    Zu guter letzt noch ein Hinweis: Klassennamen sollte man immer mit einem Großbuchstaben beginnen ;)