You are not logged in.

  • Login

Dear visitor, welcome to Coder Forum. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

1

Friday, August 24th 2007, 4:39pm

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?

Java Quellcode

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
import sum.kern.*;
/**
 * @author tim  
 * @version 24.08.07
 */
public class Test
{
	// Objekte
	Bildschirm derBildschirm;
	Stift meinStift;
	Maus dieMaus;
 
	// Konstruktor
	public Test()
	{
    	derBildschirm = new Bildschirm();
    	meinStift = new Stift();
    	dieMaus = new Maus();
	}
 
	// Dienste
	public void fuehreAus()
	{
    	// Aktionsteil
   	do 
   	{
       	if (dieMaus.istGedrueckt());
       	{
       	meinStift.bewegeBis(dieMaus.hPosition(),dieMaus.vPosition());
            	meinStift.runter();
       	}
       	else
       	{
            	meinStift.hoch();
       	}
   	}
   	} while (!dieMaus.doppelKlick());
    	// Aufraeumen
    	dieMaus.gibFrei();
    	meinStift.gibFrei();
    	derBildschirm.gibFrei();
	}
}


mfg Alex

2

Friday, August 24th 2007, 4:40pm

Java Quellcode

1
if (dieMaus.istGedrueckt());


Das ";" ist da zu viel...

3

Friday, August 24th 2007, 4:41pm

moin.

if's schließt man nicht mit Semikolon. Hätte zwar im konkreten Fall nichts gebracht, dennoch empfiehlt es sich gerade bei solchen Problem richtig einzurücken.

//UPDATE... Diese Hitze... Benny war schneller...

4

Saturday, August 25th 2007, 1:08pm

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.

Java Quellcode

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
52
import sum.kern.*;
/**
 * @author 
 * @version 
 */
public class test
{
	// Objekte
	Bildschirm derBildschirm;
	Stift meinStift;
	Maus dieMaus;
	// Konstruktor
	public test()
	{
    	derBildschirm = new Bildschirm();
    	meinStift = new Stift();
    	dieMaus = new Maus();
	}
 
	// Dienste
	public void fuehreAus()
	{
    	// Aktionsteil
    	do 
    	{
        	if (dieMaus.istGedrueckt())
            	{
                	meinStift.bewegeBis(dieMaus.hPosition(),dieMaus.vPosition());
               	if (dieMaus.istGedrueckt())
                    	{
                        	meinStift.hoch();
                    	}
                	else
                    	{
                        	meinStift.runter();
                        	meinStift.bewegeBis(dieMaus.hPosition(),dieMaus.vPosition());                        	
                    	}
            	}
        	else
            	{
                	meinStift.hoch();
            	}
     	} while (!dieMaus.doppelKlick());
 
 
 
    	// Aufraeumen
    	meinStift.gibFrei();
    	dieMaus.gibFrei();
    	derBildschirm.gibFrei();
	}
}

5

Saturday, August 25th 2007, 6:19pm

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 ;)

Similar threads

Social bookmarks