Um das neuschreiben wirst du nicht drumrum kommen. Google mal Comperators und das Interface Comparable, damit ist das eigentlich eine Arbeit von 30 Minuten.
Also ein wirklich gutes "Übungswerk" (im Gegensatz zu einem Nachschlagewerk) ist "Head First Java". Ist zwar schon etwas betagter, aber die Grundlagen sind immer noch die selben. Das Buch hat sehr viele Übungen drin, die man entweder mit Stift oder PC Lösen kann und fördert das wirkliche lernen des Stoffes.
Android setzt fast komplett auf Java. Dafür wird aber nicht die Oracle Java VM benutzt sondern eine Eigenentwicklung von Google, die sogenannte DalvikVM.
Direkt Java Bytecode ausführen (*.class - Dateien) geht meines Wissens gar nicht oder nur sehr umständlich.
Wenn du ein paar Apps entwickeln willst, schreibst du großteils Java-Code. Schau dich einfach mal hier um, da findest du alles, was du für den Einstieg brauchst: https://developer.android.com/
Was passiert denn wenn du "javac -version" auf der Kommandozeile eingibst?
Ich war da, allerdings am Fachbesucher und Medientag. Dieses Jahr war die Gamescom auf jeden Fall besser organisiert als letztes Jahr. Es wurde eine weitere Halle genutzt und es war wesentlich mehr Platz in den einzelnen Hallen.
Die Wartezeiten sind aber wie jedes Jahr viel zu lang gewesen, mehr als 2-3 große Hits schafft man an einem Tag nicht, auch nicht am Mittwoch.
Dieses Jahr war das Jahr der Hardware. PS4, XBOX one, NVidia Shield sind alles interessante Geräte. Die PS4 ist auf jeden Fall sehr schick geworden, den Rest entschieden dann die Exklusivtitel. Das NVidia Shield ist ein nettes Spielzeug, wenn die Streaming Funktion vom Rechner aber gut funktioniert, ist sie sogar mehr als das.
Am interessantesten fand ich trotz den großen Sachen wie PS4, XBOX One etc. die Oculus Rift mal in Aktion zu erleben. Man ist komplett von der Außenwelt abgeschottet, wenn man dieses Ding aufhat und taucht komplett in die Spielewelt ein, einzig an der Bildqualität muss noch ein wenig gefeilt werden.
An Spielen war nicht sehr viel ganz neues zu sehen. Weiter beobachten werde ich: Murdered: Soul Suspect, Beyond Two Souls, Kingdom Hearts 1.5 HD Remix, Hearthstone.
Watch_Dogs, Destiny und Titalfall konnte ich mit leider nicht anschauen, aber sind bestimmt auch sehr gute Titel.
Kommt drauf an worauf du das Spiel anzeigen willst. Für einen Röhren Fernseher muss es keine PS4 sein. Solltest du aber einen Full-HD Flatscreen haben, der auch noch gut kalibriert ist und fürs Spielen geeignet lohnt sich das Upgrade bestimmt.
Ich habe auf der Gamescom AC4 angespielt und 2 Demos gesehen, sieht ganz nett aus, habe aber nicht einmal gedacht: "Sieht das aber gut aus"; Vielleicht habe ich aber auch nicht genau drauf geachtet oder ich spiele dafür an meine PS3 zu wenig, ich spiele eher am PC.
C ist anders als Java und C++ nicht Objektorientiert, sondern eine Prozedurale Programmiersprache. Deine erste Entscheidung sollte also sein, ob du Objektorientiert programmieren willst oder lieber nicht. Ich persönliche finde es schöner Objektorientiert zu arbeiten, aber das solltest du für dich selbst herausfinden.
Von der Syntax her sind sich Java und C++ eigentlich sehr ähnlich, die Kontrollstrukturen (if, while, for, etc...) werden nahezu identisch definiert.
Ein weiterer Unterschied besteht darin wie Java und C++ Code audgeführt werden. C++ Code wird meistens über den Compiler gcc compiliert und gelinkt, dabei entsteht direkt auf der Maschiene ausführbarer Code. Bei Java wird über das vom Java Development Kit (JDK) mitgebrachte javac Programm compiliert und es entsteht Bytecode, der dann auf der Java Virtual Machine (JVM) ausgeführt werden kann.
Schwieriger ist für einen Anfänger, der noch nichts mit Programmieren zu tun hatte mit Sicherheit C++, was aber eher daran liegt, dass der Compiler (gcc) nicht immer hilfreiche Fehlermeldungen ausspuckt, wenn mal was nicht richtig ist, als an der Sprache an sich. Generell finde ich, dass es einfach ist mit Java das Programmieren anzufangen. Du musst dir nur das JDK installieren, als IDE (Entwicklungsumgebung) ist Eclipse geeignet, dann hat man schon alles was man so braucht.
Obwohl bei C++, anders als bei Java nicht die JVM zwischen Programm und Prozessor steht sind Performanceunterschiede gerade für kleine Projekte nicht bemerkbar, höchstens messbar
Außerdem findest du für Java viele Beispiele, Hilfestellungen und Lösungen, die einfach durch kopieren und Einfügen funktionieren. Als gute Einstiegslektüre kann ich für Java folgendes Empfehlen: Head First Java (gibt auch eine deutsche Ausgabe, sind beide leider noch auf Stand von Java 5, aber die Grundlagen sind nahezu identisch), wenn es etwas technischer aber dafür auch vollständig sein soll ist "Java ist auch eine Insel" ein empfehlenswertes Buch (wird unter Java Programmierern als das "alte Testament" bezeichnet), davon gibts dann auch noch einen zweiten Teil.
Als Einstiegslektüre zu C++ gibt es das Buch "Der C++ Programmierer".
Als Abschluss noch ein anderer Anreiz. Lern doch eine Skriptsprache wie Python oder Ruby. Diese beiden Sprachen sind zwar von der Syntax her komplett verschieden von C++ und Java, aber dafür lassen sich kleinere Tools wie z.B. Webseiten parsen oder durchsuchen wesentlich leichter umsetzen. Außerdem kann man in diesen Sprachen sowohl prozedural als auch objektorientiert programmieren. Außerdem müssen Skriptsprachen nicht compiliert werden, sie werden von dem der Sprache entsprechenden Interpreter interpretiert und müssen nicht jedes mal Compiliert werden. Eine gute IDE für Python ist PyCharm, oder Eclipse mit dem PyDev Plugin. Gute Tutorials für beide Sprachen gibt es als Interaktive Übungen auf www.codeacademy.com.
Ich hoffe ich habe dir etwas geholfen und dich nicht nur noch mehr damit verwirrt. Es würde mich auch interessieren für was du dich jetzt letztendlich entschieden hast.
Wenn du Lektüre über OOP suchst kann ich diese 2 englischen Grundwerke empfehlen (alt, aber das ist die Threorie hinter OOP ja auch):
- ISBN 0-8053-5340-2
- ISBN 0-1362-9841-9
Leider nur ISBN's weil gutefrage.net die Titel für unangebracht hält :o
Speziell für Java empfehle ich:
Head First Java (Gute Übungen)
- Java ist auch eine Insel (Die Theorie dahinter)
Ich bin fest der Überzeugung wenn du deine ersten Programme mit Objektorientierung geschrieben hast machts schon bald "klick"! :)
Hier einmal die komplette richtige Funktion mit behandlung aller Ausnahmen die auftreten können. Da du oben einen int zurückgibts mache ich hier mal dasselbe und vernachlässige negative Exponenten. Wenn du das auch noch haben willst, kann ich dir da auch was basteln.
public static int power(final int base, int exponent){
if(exponent == 0)
return 1;
if(exponent < 0)
throw new RuntimeException("Can't use negative exponents if returning and integer"); //eventuell durch eine andere Exception ersetzen falls Fehlerbehandlung erwuenscht
int returnValue = base;
while (exponent-- > 1)
returnValue *= base;
return returnValue;
}
Ich hab von Steam schon mal ein Spiel geschenkt bekommen.
Ich hab aber nocht nicht davon gehört, dass Steam über den Store Spiele gratis verteilt für die man normalerweise zahlen muss.
Ich finde diese Seite sehr gut: www.sortieralgorithmen.de
Wenn du es aber etwas anschaulicher willst, hab ich mal noch ein unterhaltsames Video angehängt.
http://www.youtube.com/watch?v=ywWBy6J5gz8Wie unten schon erwähnt sind alle 3 Rechner die du dir ausgesucht hast weniger etwas zum zocken. Leider hast du nicht geschrieben was du so zockst, aber solang es etwas halbwegs aktuelles ist und du einen großen Monitor hast, machen die Rechner die du rausgesucht hast einfach keinen Spaß.
Ich geb dir jetzt einfach mal eine Hilfestellung worauf du beim Kauf achten solltest.
Bei Spielen sind auf jeden Fall die Intel i Prozessoren das Beste was man zur Zeit bekommen kann (Sandy Bridge architektur oder Ivy Bridge). Je nachdem was du dir preislich vorstellt reicht auch ein i3 (Dualcore), mit einem i5 bist du perfekt bedient, ein i7 ist nur etwas für gut Betuchte denen das letzte Bisschen Perfomance wichtig ist.
Bei der Grafikkarte solltest du darauf achten, dass es eine aktuelle dedizierte (also wirklich eine eigenen Karte, nicht mit auf der CPU) ist. Aktuelle Grafikkartengenerationen sind bei AMD / ATI HD7xxx (x ist hier Platzhalter) oder bei Nvidia GTX6xx. Ein gutes Preis-Leistungsverhältnis hat meiner Meinung nach vor allem die AMD Radeon HD 7850. Wie auch bei den Prozessoren gilt, es gibt nach oben hin keine Grenze. Du solltest meiner Meinung nach eher bei dem Prozessor sparen (Achtung hierbei gilt immernoch das was ich oben geschrieben habe: Mindestens ein Intel i3 mit Sandy/Ivy Bridge)
Arbeitsspeicher in im Prinzip egal solang es mehr als 8GB sind. Dabei solltest du aber darauf achten, dass eine Windows Version dabei ist die 64-Bit unterstützt, da ansonsten alles was über 3GB Ram im Rechner verbaut ist einfach nicht benutzt wird.
Wenn dein Modem einen Ethernetausgang hat spricht eigentlich nichts dagegen.
Ich habe den TL-WR1043ND schon mal mit einer ähnlichen Anschlussart bei einem Freund installiert und das hat alles reibungslos geklappt.
Du solltest am Besten mal mit deinem Mobilfunkanbieter telefonieren. Die schicken dir dann die richtigen Einstellungen für 3G auf dein Handy. Manchmal reicht es nicht aus nur den Mobilen Datenverkehr anzumachen.
Wenn das alles nicht hilft hast du bei dir zu Hause vielleicht schlechten 3G Empfang und es fühlt sich so an als geht es nicht weil es so langsam lädt. Also auch mal woanders als daheim probieren!
Welches Handy hast du denn?
Bist du dir denn sicher, dass kein Internet über WLAN geht, hast du schonmal versucht google auf zu machen?
Wenn du ein Android Handy hast solltest du mal in den Einstellungen nachschauen und dort den Mobilen Datenverkehr ausschalten und dann nocheinmal versuchen eine Webseite aufzurufen. Falls du ein iPhone hast empfehle ich natürlich dasselbe.
Allgemein ist zu sagen das die Warnung bei deinen Benachrichtigungen nur vom Handy kommt und nicht von deinem Netzbetreiber, wenn du jetzt also schön weiter Mobilen Datenverkehr benutzt kann es sein das es teuer wird! Vorsicht!