Java Accenture "Knack den Code"

F_GXdx

Captain
Registriert
März 2006
Beiträge
4.028
Hey Leute,

so ein dämlicher Wettbewerb von Accenture hat mich gerade 30 Minuten meines Lebens gekostet, weil es die Lösung einfach nicht akzeptiert!!!

http://careers.accenture.com/de-de/work-we-do/Pages/knack-den-code.aspx

Meine Lösung ist:
forEach((m) -> System.out.print(m));

Es wird aber einfach nicht gefressen. Nun sollte man hier vielleicht keine Lösung posten um das Rätsel nicht zu versauen, aber wo bitte habe ich einen Denkfehler? Was mache ich falsch? Wie würdet ihr rangehen?

Danke
 
kann java die syntax?

ich hätte gesagt irgendwas mit list.reverse
 
Nochmal: Bitte keine Lösung posten, sondern andeuten was ich falsch mache, danke.
Und nur posten, wenn es einer wirklich auf richtig schafft!

tnoay schrieb:
kann java die syntax?

ich hätte gesagt irgendwas mit list.reverse

Da bist du sicherlich völlig auf dem falschen Dampfer.
 
Lambda ausrdücke habe ich mir immer noch nicht angeschaut, also etschuldige wenn ich mich irre.

Aber ist deine Lösung nicht generell falsch? Du printest doch jede neue Message oder nicht? Und nicht nur die "Gut gemacht".
 
3minuten gebraucht um es zu "knacken"... also das ist echt easy Bist aber auf dem richtigen Weg
 
Generell hätte ich es ganz primitiv gemacht. Einfach den 0 Index angesprochen. Es steht in der Aufgabenstellung nirgendow dass man eine dynamisch Lösung finden muss.
 
wieso arbeitet ihr mit dem index?
 
F_GXdx schrieb:
Meine Lösung ist:
forEach((m) -> System.out.print(m));

Lass dich nicht ärgern, mit deiner Lösung ist alles in Ordnung. Die Seite kompiliert den Code offensichtlich nicht wirklich, sondern vergleicht sie nur gegen eine zu erwartende Eingabe. Es gibt noch eine kürzere Schreibweise als deine (siehe thecain), die zur gleichen Ausgabe führt und von der Seite akzeptiert wird. Ich könnte wetten (jedoch nicht ausprobiert), dass deine Lösung und die "korrekte" Lösung auf Bytecode-Ebene sogar genau gleich ausschauen.

Hades85 schrieb:
Aber ist deine Lösung nicht generell falsch? Du printest doch jede neue Message oder nicht? Und nicht nur die "Gut gemacht".

Die erwartete Ausgabe ist "Gut gemacht in Java 8!".
 
Zuletzt bearbeitet:
Danke für die Hinweise! Sehe ich genau so wie ihr...

Edit:
Hab mich jetzt mal kurz mit den neuen Java 8 Syntaxmöglichkeiten vertraut gemacht, nunja, stimme der Seite zu... wenn man sich auskennt ist meine Lösung zumindest nicht schön... aber ja, auf Bytecode Ebene dürfte sicherlich dasselbe rauskommen wie die knappe Lösung.
 
Zuletzt bearbeitet:
Anscheinend habe ich die Aufgabe nicht richtig gelesen.

Ich dachte man soll nur die "Gut gemacht" Message printen. :D
 
Falsch. :D
 
Benutzt man mittlerweile kein @Override mehr bei toString() ?
Oder haben die auf der Seite einen schlechten Stil ? :p

Naja wer tüfteln will -> projecteuler.net
 
Benutzt man schon, aber hat keinen Einfluss (zumindest auf den Code direkt)

Und die Seite hat allgemein nicht den besten Style... schon alleine daher, dass sie nicht kompiliert sondern nur ein String vergleich o.ä. auf die Lösung macht.
 
Es würde auch kein normaler Mensch ohne Not zwei verschiedene Methoden implementieren, die genau dasselbe machen (toString() und getMessage()).

Gut, dass wir auf der Arbeit gerade einen Java-Auftrag zu vergeben haben. Wer ihn nicht bekommt ist damit wohl klar, harhar ^^
 
Jup, haben auch lauter BWL Posten in den Jobanzeigen, aber keine Entwickler Jobs (Frankfurt) :D
 
Zurück
Oben