JavaDoc-Methoden kommentieren

oump

Mitglied
Tach,

wenn man /** + Enter eingibt, dann bekommt man ja eigentlich die Parameter ect schon hingeschrieben und muss diese nur beschriften ( so war es beim Tutor ).

Wenn ich aber /** + Enter schreibe, kommt nur das:
Java:
/**
*
*
*
*/
Wie hat er das gemacht?
 
1. Sicherstellen, dass deine Methode auch Parameter hat...
2. Direkt über der Methode erneut das Verhalten probieren.
 
Die Methode hat 5 Parameter, gleich am Anfang initalisiert.
Wenn ich direkt über die Methode /** + Enter schreibe, kommt immer das selbe :/
 
Beweg deinen Cursor in die Methode und drücke anschließend die Kombination
Code:
Shift + Alt + J

Funktioniert das? Was erscheint als Kommentar?
 
Beweg deinen Cursor in die Methode und drücke anschließend die Kombination
Code:
Shift + Alt + J

Funktioniert das? Was erscheint als Kommentar?
Code:
    /**
     *
     */
Erscheint dann.

Version: Oxygen.1a Release (4.7.1a)

@oump Was heisst: gleich am Anfang initialisiert?

Anfang der Methode
 
Poste mal deinen Code, ist die Klasse evtl. von einer Elternklasse abgeleitet worden, die auch die Methode enthält?

Wenn Ja, schreibe mal eine eigene Methode:

Java:
public String someCode(String a) {
return null;
}

Und Probiere das mit dieser Methode.
 
@oump Was heisst: gleich am Anfang initialisiert?
Poste mal deinen Code, ist die Klasse evtl. von einer Elternklasse abgeleitet worden, die auch die Methode enthält?

Wenn Ja, schreibe mal eine eigene Methode:

Java:
public String someCode(String a) {
return null;
}

Und Probiere das mit dieser Methode.
Bei dieser Methode geht es.
Aber bei meiner jedoch nicht.

Na es wird auf ne andere Klasse zugegriffen für Konsolenfehle.
 
Code:
public static void fahren() {
        int randomG = 0;
        int randomV = 0;
        int randomM = 0;
        int i;
        int abstand;
        double prozent = 0;

        for (i = 5; i <= 55; i++) {

            // Random Zahlen
            randomG = randomG + (int) (Math.random() * 5) + 1;
            randomV = randomV + (int) (Math.random() * 5) + 1;
            randomM = randomM + (int) (Math.random() * 5) + 1;

            Console.displayOff();
          
            //Prozent + Linie zeichen
            for (abstand = 5; abstand <= randomG; abstand++) {

                Console.setBackground(Color.white);
                Console.gotoXY(abstand, 6);
                Console.write(" ");
                Console.wait(1);

                prozent = (abstand - 5) / 50 * 100;

                Console.setBackground(Color.black);
                Console.setForeground(Color.white);
                Console.gotoXY(70, 6);
                Console.write(prozent + "%");

            }

            for (abstand = 5; abstand <= randomV; abstand++) {

                Console.setBackground(Color.white);
                Console.gotoXY(abstand, 11);
                Console.write(" ");
                Console.wait(1);

                prozent = (abstand - 5) / 50 * 100;

                Console.setBackground(Color.black);
                Console.setForeground(Color.white);
                Console.gotoXY(70, 11);
                Console.write(prozent + "%");

            }

            for (abstand = 5; abstand <= randomM; abstand++) {

                Console.setBackground(Color.white);
                Console.gotoXY(abstand, 16);
                Console.write(" ");
                Console.wait(1);

                prozent = (abstand - 5) / 50 * 100;

                Console.setBackground(Color.black);
                Console.setForeground(Color.white);
                Console.gotoXY(70, 16);
                Console.write(prozent + "%");

            }

            Console.displayOn();

            if (randomG >= 55) {

                Console.setBackground(Color.black);
                Console.setForeground(Color.white);
                Console.gotoXY(5, 20);
                Console.write("Son Goku hat gewonnen!");
                return;
            }

            if (randomV >= 55) {

                Console.setBackground(Color.black);
                Console.setForeground(Color.white);
                Console.gotoXY(5, 20);
                Console.write("Vegeta hat gewonnen!");
                return;
            }

            if (randomM >= 55) {

                Console.setBackground(Color.black);
                Console.setForeground(Color.white);
                Console.gotoXY(5, 20);
                Console.write("Majin Boo hat gewonnen!");
                return;
            }

        }

    }

Prozent funktioniert zwar auch nicht, aber das ist erstmal nebensächlich.
Ich weiß, nicht der schönste Code..
Console.write ect.pp ist eine Klasse vom Dozenten, damit wir die Befehle in der externen Console benutzen können.

Diese. Hab da nur 3 Methoden. Die anderen haben aber keine Parameter drin.
 
Und wo genau ist jetzt deine Methode mit den Parametern?

Deine einzige Methode, die du uns hier lieferst lautet:

Java:
public static void fahren() {

// ....

}
 
Noch ne Frage, damit ich keinen neuen Thread aufmachen muss.
Ich will die aktuelle Prozentzahl ausrechen.
Also:
Code:
prozent = (abstand - 5) / 50 * 100;

und dann ausgeben lassen.
An der Formel kann es doch aber nicht liegen?
Er gibt immer nur 0% und dann 100% aus.
 
Nein, da hast du wirklich etwas falsch verstanden.
Alles was zwischen den beiden Klammern ( und ) in der Methode
Java:
public static void fahren() //....
steht, sind Parameter. Diese werden als Doc generiert.

In meiner einfachen Methode

Java:
public String someCode(String a) {
return null;
}

Ist zu sehen, dass 1 Parameter enthalten ist "String a".
 
Alles klar, vielen Dank.

hat einer schnell noch eine Idee, warum meine Berechnung falsch ist?
prozent = (abstand - 5) / 50 * 100;

Ich starte bei 5, daher ziehe ich 5 ab, damit ich 0 rauskriege ( start wert ).
Die Strecke ist genau 50 "Zeichen" lang, also durch 5 * 100.
Das alles ist in der for-schleife, wo auch der balken gezeichnet und gerechent wird.
Und dann gebe ich das hinter dem balken aus.
 
Der eigentliche Bereich ist 5-55.
Mit Abzug wäre das dann genau 0 ( 0% ) bis 50 (100%).
Er gibt aber nur 0% und 100% aus, statt bei z.b. 25 die 50%.
 
Java:
int start = 5;
int end = 55;
for(int i = start; i <= end; i++) {
  System.out.printf("%03d%%%n", (int)((((double)i - start) / (end - start)) * 100));
}
 

Zurück
Oben