De grundlegende Java-Syntax und die wichtigsten Grundkonzepte kann man wenn man sich reinhängt nach wenigen Monaten gut bis sehr gut.

Dann gibt es immer noch vieles zu lernen, aber man hat zumindest die Fähigkeit erworben (fast) jedes Java Programm bzw. den Code davon zu verstehen.

Ich selber arbeite seit 1,5 Jahren als Java Entwickler, hatte auf der Uni viel Java... nun ist es so, wenn ich genau weiß was ich machen muss (mir also alle Anforderungen klar sind usw. usf.) dann bin ich nicht wirklich merkbar langsamer als die erfahrenen Programmierer bei uns in der Firma, auch ist mein Code erfahrungsgemäß nicht langsamer und auch nicht schlechter/hässlicher.
Nur was man z.B. wirklich sehr schwer lernt ist das Schätzen der Zeit die man für etwas braucht, da bin ich oft um den Faktor 10 daneben, das liegt aber oft nicht daran dass ich Java nicht so gut kann wie die anderen, sondern dass ich unsere Anwendung noch nicht (so) gut kenne.

Auch kenne ich noch nicht so viele Bibliotheken, ich würde dir empfehlen hier mal (wenn du etwas weiter bist) https://github.com/Vedenin/useful-java-links durchzusehen, ist viel nützliches dabei.

...zur Antwort

bin Softwareentwickler, hab den Begriff noch nie gehört,

ich würde den Prüfer/Lehrer bitten mir ein paar Stichworte zu nennen, das hilft oft schon extrem weiter

...zur Antwort
Wie viel Erfahrung um mit Programmieren Geld zu verdienen?

Hallo zusammen,

Also erstmal was zu mir. Ich studiere Informatik und habe viel Spaß am Programmieren gefunden. An der Uni haben wir Java Programmierung in 2 Semestern. Es ist sogar so, dass ich seit gut einem Monat viel mehr Zeit in dieses Fach investiere, als eigentlich für das Modul nötig. Da ich im "Selbststudium vor Beginn des eigentlichen Studiums, ehr gescheitert bin, mir Java selbst beizubringen, hatte ich mir vorgenommen ( und auch eingehalten) mindestens 1h täglich zu programmieren sobald das Studium anfängt, so als "gute Angewohnheit". Da ich, beim Versuch es mir selbst beizubringen oft viel zu lange nichts dazwischen gemacht habe. Das ich das ganze auch so durchgezogen habe, verdank ich irgendwo unseren Wöchentlichen Abgaben. Unserem Kurs bin ich auch in etwa 2 Wochen im voraus, da unser Prof. die kompletten Vorlesungen als Video online hochlädt (Wir können also das ganze Semester theoretisch vorarbeiten, da von letztem Jahr alle Vorlesungen für uns online sichtbar sind) Nun, das ist auch eigentlich nicht das Thema, aber hat mich zu folgenden Fragen geführt.

  1. Ist man nach dem was man von der Uni lernt in Punkto Programmierung ( Bei uns Modul in 2 Semestern ) in der Lage auch Geld damit Privat zu verdienen? Wie weit qualifiziert das? Bei uns mit der Sprache Java.

  2. Wie viel Erfahrung bzw. Zeit braucht man beim Programmieren um sich etwas dazu zuverdienen? Also sagen wir mal ich bleib bei 1-2h täglich die ich investiere, hin und wieder auch mal mehr. Was sagt eure Erfahrung? Wie lang bräuchte ich dann ca. um gut, besser oder wirklich gut zu werden? Ich weiß sowas ist schwer zu sagen. Eine kleine Einschätzung wär mich schon genug.

Theoretisch wenn ich mal nach dem zweiten Semester anfange nebenbei für Leute was zu programmieren würde ich ich mich als Student schon über 100 Euro mehr im Monat freuen. Je nach dem wie sich mein "Spaß" hier entwickelt überlege ich sogar auf einen Studiengang zu wechseln der seinen Fokus auf programmieren legt. Jedenfalls ist es das erste mal, seit dem ich Klavier spielen gelernt habe, dass mir etwas wirklich Spaß macht und ich sozusagen freiwillig jeden Tag etwas Zeit investiere ohne das Gefühl zu haben es wäre "Doof".

3. Gibt es vielleicht sogar Selbstständige Programmierer unter euch? Was sagt ihr, wie viel Aufwand in lernen man stecken muss bevor man vielleicht davon Leben kann? Seinen ersten Euro verdienen kann? Ist zwar eine sehr pauschale Frage, aber ich erwarte auch keine Präzise Antwort! :-)

Gruß Capcord

...zur Frage

Ich beschreib dir einfach kurz wies bei mir war/ist 

Ich bin Informatikstudent, so zu ca. 2/3 fertig -> Java 2 Kurse, Datenbanken 2 Kurse, dann noch 100 000 Theoriefächer (programmiermäßig kommt noch 1 Kurs, mehr aber auch nicht)

Habe mich vor ziemlich genau einem Jahr bei einer Recruiting Firma angemeldet (eigentlich ohne geglaubt zu haben gleich etwas zu finden), 
das war am Mittwoch, tag darauf ein Anruf ich solle bitte vorbeikommen weil sie vielleicht etwas für mich haben (ich wollte nicht mehr als 20 Stunden/Woche)

also Donnerstag:
1,5 Stunden Gespräch was ich alles kann und was nicht
ich geh aus der Firma raus, und werde schon angerufen dass ich ein erstes Bewerbungsgespräch habe (wenn ich will, man kann immer nein sagen)
Bewerbungsgespräch noch am selben Tag, ohne Lebenslauf oder ähnliches
Bewerbungsgespräch verlieg relativ gut

dann Freitags 2 weitere Bewerbungsgespräche und die zusage zu 4 weiteren, 

Montags wieder eins, dann hab ich insgesamt 4 Firmen gesehen, mein jetziger Arbeitgeber war um Welten "gemütlicher" als die Anderen, deshalb habe ich am Montag zugesagt und die 4 übrigen abgesagt

Danach habe ich erfahren dass mich auch noch 2 weitere genommen hätten.

Jetzt arbeite ich 25 Stunden/Woche (Mo-Mi) und gehe Do+Fr auf die Uni, funktioniert auch relativ gut, man braucht hald fürs Studium etwas länger
Verdienen tu ich auch nicht schlecht (finde ich), >>>1000€ netto (nur als Richtwert)

Gelernt habe ich in dem Jahr mehr als ich im Studium jemals lernen werde...
das fängt bei Design Patterns an, geht über Serverzeugs, Versionsverwaltung, Teamarbeit, Debuggen, Testen.. all das lernt man erst richtig wenn man es verwendet.

Kurz zusammengefasst:
Ich empfehle dir wenn du Arbeit suchst dich einfach mal zu bewerben, "Informatiker" werden händeringend gesucht

...zur Antwort

hier diese Klasse beinhaltet die Collision Detection für zwei Rectangle Objekte, vllt. hilft dir das schon 

falls du mal Circle - Rectangle brauchst einfach melden


Rectangle a;
Rectangle b;

void setup() {
size(600, 600);
a = new Rectangle(200, 100, 70, 120);
b = new Rectangle(100, 100, 50, 50);
}

void draw() {
background(100);

b.x = mouseX;
b.y = mouseY;


if (a.checkCollision(b)) {
a.col = color(255,100,100);
}else{
a.col = color(100,100,100);
}
a.drawRectangle();
b.drawRectangle();
}

private class Rectangle {
private float x, y, w, h;
private color col;

private Rectangle(float x, float y, float w, float h) {
this.x = x;
this.y = y;
this.w = w;
this.h = h;
}

private void drawRectangle() {
rectMode(CORNER);
fill(col);
rect(x, y, w, h);
}

private boolean checkCollision(Rectangle b) {
return (this.x+this.w)>b.x && (this.x<(b.x+b.w)) && (this.y+this.h)>b.y && (this.y<(b.y+b.h));
}
}
...zur Antwort

die Frage wurde schon SO oft beantwortet, durchsuche mal gutefrage

PS die 3 darfst du nicht zu den 48 dazuzählen, da die ja schon in diesen enthalten sind

...zur Antwort

Java Arrays haben keine size() Methode, eine size() Methode hat z.B. eine Liste
ein Array hat die Eigenschaft length, die die Anzahl an Elementen darstellt... das ist jedoch keine Methode(!) (siehe auch http://stackoverflow.com/questions/20192843/difference-between-size-and-length-methods ... erste Antwort)

ein Array hat auch keine Methode swap.. keine Ahnung woher du die hast^^

...zur Antwort

du brauchst einfach nur

699/0.88 zu rechnen und fertig (0.88 = 1 - 0.12)

etwas ausführlicher
du rechnest dir ein Prozent der UVP aus
das sind 699/88 ... dann rechnest du mal 100 da du ja die gesamte UVP wissen willst

also 699/88 * 100

...zur Antwort

was genau ist "fortgeschritten"..?

ich persönlich programmier seit ca. 5 Jahren in Java, seit einigen Monaten nun auch beruflich ... habe immer geglaubt ich bin "fortgeschritten", fange dann den ersten Tag zu arbeiten an und glaubte ich weiß 0 komma nix.

Dann jetzt letzte Woche gab ich einem Studenten Java-Nachhilfe, für den war ich der Experte schlechthin.
Es kommt immer auf den Vergleich an ;) ... aber egal

Es kommt sehr darauf an, was genau du später einmal programmieren möchtest, .. Java ist eigentlich in vielen Fällen eine gute Wahl.
C++ ist eine schnellere, aber auch komplexere Sprache, die man nicht so universell einsetzen kann

Zusammengefasst:
Willst du für "alle" Betriebssysteme inkl. Android programmieren, Webanwendungen oder normale, nicht extrem Rechenintensive Anwendungen machen, schnell zu einem Ergebnis kommen ... dann Java

Willst du Anwendungen machen, die die Geschwindigkeit des Rechners zu 100% ausnutzen, so fange mit C++ an.

...zur Antwort

die beste Methode ist folgende... ist schneller als Math.random und auch zufälliger
für mehr infos:
http://stackoverflow.com/questions/738629/math-random-versus-random-nextintint

man verwendet java.util.Random

int lowerBoundInclusive=1;
int upperBoundInclusive=30;

int random = new Random().nextInt(upperBoundInclusive)+lowerBoundInclusive;
System.out.println(random);
...zur Antwort

was ist ein "Festnetz-Telefon" ?
meinst du eins wo man nicht eine sim karte von jedem Anbieter reingeben kann?.. aber was ändert das an deinem Problem... bitte genauere Infos

...zur Antwort

erstell eine batch datei mit dem shutdown befehl (googln)
dann eine Verknüpfung zu dieser und bei der das Symbol ändern und fertig ^^

...zur Antwort
Wie bekomme ich eine Kollisionsbehandlung hin?

Hi Leute :) Ich bin dabei ein kleines Jump&Run in Java zu programmieren und bin nun schon seit geraumer Zeit an der Kollisionsauflösung hängengeblieben. Die Erkennung von Kollisionen habe ich bereits gelöst. Ich habe nun schon das halbe Internet abgesucht, bin aber nicht schlauer geworden. Könnt ihr mir helfen? Ich habe bisher eine HALBWEGS funktionierende Kollisionserkennung hinbekommen.

Gegeben sind mir: -Position des Spielers(px, py), -Größe des Spielers(playerSize), -Pos. der Hitbox(bx, by), -Seitenlänge der Hitbox(boxSize), -Bewegungsrichtung des Spielers(movex, movey), -Zielposition des Spielers ohne Einbezug der Kollision(destx, desty), -Geschwindigkeit des Spielers(vel) --- alles vom Typ "int"

Das Problem: so wie ich das gelöst habe ist die Auflösung fehlerhaft. Wenn ich geradewegs auf die Hitbox zukomme mit einer Geschwindigkeit von z.B. 5 Pixel pro Frame und ich rage bei der Kollision so in die Hitbox hinein, dass der x-Anteil größer ist als der y-Anteil, dann wird es nach y aufgelöst.

Ich wollte in jedem Schleifendurchlauf die Kollision mit allen überlappenden Tiles so auflösen: Mein bisheriger Code:

if(intersect(...)){ //wenn die Kollision mit der aktuellen Box feststeht
int tilex = bx
int tiley = by
                    
int yover = desty + playerSize - by;        //positiv wenn überlappung
int yunder = by + boxSize - desty;      //positiv wenn überlappung
int xleft = xdest + playerSize - bx;        //positiv wenn überlappung
int xright = bx + boxSize- destx;       //positiv wenn überlappung
                    
boolean left = false, right = false, top = false, bottom = false;  

//Überragt der Spieler die obere, untere, linke oder Rechte Seite der Box 
                    
if(desty < by) top = true;
if(desty + playerSize > by + boxSize) bottom = true;
if(destx < bx) left = true;
if(destx + playerSize > bx + boxSize) right = true;
                    
if(top && !right && !left) desty = by - playerSize;
if(bottom && !right && !left) desty = by + boxSize;
if(left && !top && !bottom) destx = bx - playerSize;
if(right && !top && !bottom) destx = bx + boxSize;
                    
if(top && right){
    if(yover < xright) desty = by - playerSize;
    if(yover > xright) destx = tilex + boxSize;
}
if(top && left){
    if(yover < xleft) desty = by - playerSize;
    if(yover > xleft) destx = bx - playerSize;
}
if(bottom && left){
    if(yunder < xleft) desty = by + boxSize;
    if(yunder > xleft) destx = bx - playerSize;
}
if(bottom && right){
    if(yunder < xright) desty = by + boxSize;
    if(yunder > xright) destx = bx + boxSize;
}
}

Meine Frage ist nun: Wie bekomme ich so eine realistische und genaue Kollisionsbehandlung hin (mit destx und desty als Zielpositionen)? Es geht mir dabei nicht um einwandfreies Java, es zählt nur die Logik dahinter (von mir aus auch Pseudo-code).

Vielen Dank im Voraus :)

...zur Frage

angenommen der spieler und die box sind mit dem punkt links oben + breite + höhe angegeben

if( (sp.x+sp.w)  >=  b.x  && sp.x<=(b.x+b.w) && 
(sp.y+sp.h)  >=   b.y  && sp.y<=(b.y+b.h) )   {
//collision
}

...zur Antwort

ich hab dir eine saubere, kurze Lösung erstellt

int r;
do{
r = new Random().nextInt(6)+1;
System.out.println("Du hast eine "+r+" gewürfelt.");
}while(r!=6);

...zur Antwort

um welches programm gehts?

falls du minimal programmieren kannst schreib dir selber ein programm z.B. mit Java... ist kein kompliziertes problem

...zur Antwort

google nach
java strings alphabetical order
die ersten beiden suchergebnisse von stackoverflow beinhalten alles was du brauchst ;)

...zur Antwort

frag deine Mama mal welche Blutgruppe der Postler hat ;)

...zur Antwort