# Geocaching Java Rätsel



## tim40 (4. Nov 2009)

Hallo zusammen,
ich habe das Problem, dass ich von Java keine Schimmer habe. Nun hab ich ein .PNG Bild, worin ein Javascript o.ä. versteckt ist. Mit Corel kann ich über die Bit-Ebenen diese anzeigen lassen. Wie kann ich aber das Script ausführe, damit ich weiß, was für ein Ergebnis herauskommt ?
Anbei die .PNG Datei und die .JPG Datei, in er man das Script sehen kann.
Kann mir jemand helfen ?
Danke im Voraus.
Tim40


----------



## L-ectron-X (4. Nov 2009)

Es handelt sich hierbei nicht um JavaScript-Code, du bist aber trotzdem im richtigen Forum, denn wir behandeln hier Java-Themen.

Um das Programm (kein Script) auszuführen, kannst du es in einen Editor tippen und mit einem Java-Compiler kompilieren (übersetzen).
Mit einem Java-Interpreter kannst du dann das kompilierte Programm ausführen.

Zum Kompilieren kannst du dir ein JDK von Sun herunterladen.
Einen passenden Link findest du unter _Nützliche Links_ im Forum-Menü.

Übrigens, das Thema wurde von uns vor etwa einem Monat behandelt und gelöst, wurden aber aufgefordert, die Lösung wieder zu entfernen.


----------



## ARadauer (4. Nov 2009)

genau dieses Rätsel hatten wir hier schon mal, weiß jemand noch den Tread.. ich finde ihn nicht mehr...


----------



## Landei (4. Nov 2009)

ARadauer hat gesagt.:


> genau dieses Rätsel hatten wir hier schon mal, weiß jemand noch den Tread.. ich finde ihn nicht mehr...



Wie L-ectron-X schon geschrieben hat, hatte der Cacherätselmacher um Löschung der Lösung gebeten, was anscheinend auch erfolgt ist.


----------



## ARadauer (4. Nov 2009)

ahh sorry, hab ich überlesen...


----------



## tim40 (4. Nov 2009)

Hallo zusammen, und danke erst mal für den Tipp.
Ich komme damit trotzdem nicht klar. Kann mir jemand - nicht öffentlich sondern per Mail oder PN - mir die Lösung des Rätsel geben? Es müssen Koordinaten herauskommen wie z.B.N 50° 42.574 E 009° 19.381.
Danke im Voraus.


----------



## eRaaaa (4. Nov 2009)

hi,

also das ist doch sicherlich nicht sinn des geocachings, bzw, macht doch dann garkeinen spaß 
zudem wird sich sicherlich niemand die arbeit machen und für dich den code abtippen (okay, im letzten thread haben einige das ohne abtippen durchgespielt, aber nunja, wurde ja nicht gern gesehen (daher auch entfernt *glaub*) ). 

aber könntest das ja selber mal abtippen und dann vllt in nem online-compiler (kann man das so nenen?   - der sollte das sicherlich schaffen) ausgeben lassen.
z.b. hier ginge das   : The Zamplizer


----------



## Michael... (4. Nov 2009)

Na ja, mehr als ein paar Rechenoperationen, Bedingungen und Schleifen stehen da nicht drin. Mit Kenntnissen von Englisch, Subtraktion und Addition sollte sich das Rätsel lösen lassen.

sowas wie a++ bedeutet a=a+1 und d-- entsprechend d=d-1


----------



## Unregistriert (4. Nov 2009)

Danke erst mal. Ich probiers aus, obwohl ich da bedenken habe. Eine Frage noch: Wenn du dir die Grafik anschaust, muss ich dann komplett zeileweise eingeben oder erst die linke Seite und dann die rechte Seite neben der Grafik ?
Danke.


----------



## eRaaaa (4. Nov 2009)

erst links, dann rechts.


----------



## Michael... (4. Nov 2009)

Das ist ein Stück Code, geht links oben los und endet rechts unten

So als kleine Hilfestellung:

a ist zu Beginn 0

while(a<1) a++; bedeutet solange a <1 ist erhöhe a um 1
--> a ist also 1

b ist zu Beginn 423
--> b > 423 trifft nicht zu 
--> b = b +445 --> b = 868

usw

Zum Schluss wird ein Text aus gegeben
System.out.println(a + "ca" + b + c + "ea" +d);
wobei das "+" hier zum Verknüpfen von Zeichenketten verwendet wird
--> aus "hal" + "lo" wird "hallo"

bedeutet in diesem Fall : 1ca868...ea... (... ist hier der Platzhalter für c und d)


----------



## Unregistriert (4. Nov 2009)

Vielen Dank ! Ich probiers morgen aus und melde mich.


----------



## tim40 (5. Nov 2009)

So. Ich habs jetzt ausprobiert, bekomme aber immer eine Fehlermeldung und komme nicht weiter.
Hier der von mir abgetippte Text:

public class Hexe_auf_Java
{public static void main(String  args)
{int a=0;int b=423;int c=18;int d=13;while(a<1){a++; System.out.printIn("Heckenschütze macht coole Caches!");}
if(b>423){b=b-405;}else{b=b+445;}
c=c+41;c=c+1;c=c++;c=c-50;
if(c<=18){c=c+608;c=c++;}d=41;
while(d>0){d--;}d=d+836;
if(d>836){d=825-11;}else{d=d-788;}
System.out.printIn(a+"ca"+b+c+"ea"+d);}

Kann da mal jemand drüber schauen odeer anderweitig helfen ?
Danke im Voraus.
LG
Tim


----------



## eRaaaa (5. Nov 2009)

printIn ändenr zu println ...dann gehts auch  (2x)


----------



## tim40 (5. Nov 2009)

Wenn ich es mit dem J2SE 6.0 Class im Zamplizer mache dann kommt folgende Fehlermeldung:
/users/2002/Hexe_auf_Java.java:10: reached end of file while parsing System.out.println (a+"ca"+b+c+"ea"+d);} ^ 1 error

Und wenn ich es mit dem J2SE 6.0 Class im Zamplizer mache dann kommt folgende Fehlermeldung:
/users/2006/Hexe_auf_Java.java:11: '}' expected ^ 1 error
;(;(;(


----------



## eRaaaa (5. Nov 2009)

also bei mir hats funktioniert 

```
// Define a runnable Java class here.  You must include a
// "main" method.  Command line arguments go in the text area above.
public class Test { 
    public static void main(String argv[]) {
        int a = 0;
			int b = 423;
			int c = 18;
			int d = 13;
			while (a < 1) {
				a++;
				System.out.println("Heckenschütze macht coole Caches!");
			}
			if (b > 423) {
				b = b - 405;
			} else {
				b = b + 445;
			}
			c = c + 41;
			c = c + 1;
			c = c++;
			c = c - 50;
			if (c <= 18) {
				c = c + 608;
				c = c++;
			}
			d = 41;
			while (d > 0) {
				d--;
			}
			d = d + 836;
			if (d > 836) {
				d = 825 - 11;
			} else {
				d = d - 788;
			}
			System.out.println(a + "ca" + b + c + "ea" + d);
    }
}
```

kopier das jetzt so wies da steht 1:1 ins obige fenster


----------



## Underworld (5. Nov 2009)

Hi,
müsste so stimmen:

```
public class Hexe_auf_Java {

	public static void main(String args[])

	{
		int a = 0;
		int b = 423;
		int c = 18;
		int d = 13;
		while (a < 1) {
			a++;
			System.out.println("Heckenschütze macht coole Caches!");
		}

		if (b > 423) {
			b = b - 405;
		}
		else {
			b = b + 445;
		}

		c = c + 41;
		c = c + 1;
		c = c++;
		c = c - 50;
		if (c <= 18) {
			c = c + 608;
			c = c++;
		}
		d = 41;
		while (d > 0) {
			d--;
		}
		d = d + 836;
		if (d > 836) {
			d = 825 - 11;
		}
		else {
			d = d - 788;
		}

		System.out.println(a + "ca" + b + c + "ea" + d);
	}
}
```


neeein, jetzt wollte ich als Anfänger einmal helfen und bin dann zu spät...


----------



## tim40 (5. Nov 2009)

Ok. Hat jetzt auch funktioniert. Ist das dann das richtige Ergebnis: 1caxxxxxxeaxx (x steht für die Zahlen, wollte ich nur nicht so veröffentlichen)


----------



## eRaaaa (5. Nov 2009)

michael hatte oben ja schon zur hälfte das ergebnis gepostet, kannst ja da vergleichen


----------



## tim40 (5. Nov 2009)

OK. Dann müsste es stimmen. Nun hab ich nur noch das Problem, was es für Koordinaten wirklich sind und ob das Ergebnis noch umgerechnet werden muss, oder so...
Erstmal vielen Dank dafür ! :applaus: :toll:


----------



## tim40 (5. Nov 2009)

...kann es sein, dass die Lösung evt. eine Hexadezimalzahl ist, die man umrechnen muss ?


----------



## tim40 (5. Nov 2009)

...ich bin entzückt, ich bin entzückt !!!
:toll: :toll: :toll:
Ich habs !!! Danke, vielen, vielen Dank für Eure wirklich tolle Mithilfe. So hab ich eine kleine Exkursion mit Euch gemacht !


----------

