Verständnis Frage wegen einer Aufgabe

iHüsoo91

Neues Mitglied
Hey Leute,

ich habe seit dieser Woche Java in meiner Uni
Leider habe ich noch 0 Wissen in diesem Fach und brauche etwas Hilfe
Das Problem ist, dass ich ein paar Aufgaben nachvollziehen möchte jedoch ich nicht ganz verstehe, was genau was macht:
Hier die Aufgabe

public class RandomSeq {
public static void main(String[] args) {

int N = Integer.parseInt(args[0]);

for (int i = 0; i <= N; i++) {
System.out.println(Math.random());


Ok wir haben eine öffentliche Klasse Random Seq
-->public static void main(String[] args) = ist ja lediglich ein Standardbefehl der aufgerufen wird, wenn man eine Klasse erzeugt
-->int N = Integer.parseInt(args[0]);= ok wir erzeugen ein Integer N ABER warum steht dann hintendran nochmal Integer? und was soll parseInt bedeuten+das args[0]???

Und die letzte Frage: system.out.println ist das der befehl für eine Textausgabe in Java??? bzw muss ich immer bei einer Ausgabe das schreiben?
Danke
MfG
 
Diese Zeile:
int N = Integer.parseInt(args[0]); legt eine Variable N an und weisst ihr den Wert zu den sie als String in args[0] findet.

Ach ja, und system.out.println ist eine Methode die Text nach stdout schreibt.
 
public static void main(String[] args) ist auch nicht eine Standardmethode einer Klasse. Das stimmt nur solange dein Programm nur aus einer Klasse besteht. Aber vielleicht hattet ihr das noch nicht besprochen. Ich will dann nicht vorgreifen.
 
Die Methode main() wird immer aufgerufen, wenn das Programm gestartet wird. Dabei muss aber nicht zwingend notwendig eine neue Instanz der Klasse erzeugt werden!
 
Um genau zu sein wird durch den Aufruf von main() nie eine neue Instanz von irgendwas erzeugt !
Diese Methode ist immer public static !!
 
Und was ist das dann?
Code:
class Main(){
     public static void main(String[] args){
          new Main();
     }

     public Main(){}
}
 
Hier hat jemand in der Methode main(...) ein Objekt der Klasse Main erzeugt. Das kann man aber in jeder Methode machen. Das hat nichts mit main() zu tun. Und ausserdem ist das Beispiel relativ sinnfrei weil das erzeugte Objekt kurz darauf vom Garbage Collector wieder ins Nirwana befördert wird.
 
Es ging mir darum dem TE klarzumachen dass nicht durch Aufruf der "besonderen" Methode main(....) irgendeine Objektinstanz erzeugt wird. Natürlich kann man in main alles reincodieren was man lustig ist.
 
Das konnte man nicht wirklich aus dem Text schlussfolgern. Also einen kleinen Rat für das nächste Mal: Formuliere das ganze etwas ausführlicher!
 
In der Methode kann man natürlich machen, was man will, aber durch den bloßen Aufruf wird niemals eine Instanz erzeugt. So, genug Erbsen gezählt.

int N = Integer.parseInt(args[0])

args[0] ... der erste an das Programm beim Aufruf übergebene Parameter (args ist das Array, in dem die Liste der Programmaufrufparameter gespeichert ist. Wie bei allen Listen beginnt der Index bei 0)

Hier wird die Methode parseInt(String value) der Klasse Integer aufgerufen. Diese Methode versucht, den Wert aus einem Text auszulesen (in diesem Fall dem Text, der in args[0] gespeichert ist). Übergeben wird das Ergebnis der Methode an die Variable N.

Siehe:
http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html#parseInt-java.lang.String-
 

Zurück
Oben