Javadoc-Problem

drpingoo

Erfahrenes Mitglied
Hallo Leute!

Also das mit dem Javadoc-generieren funktioniert jetzt bei mir, nochmals ein Dankeschön dafür. Jedoch habe ich dabei immer noch ein Problem und zwar ist es bei mir so, dass ich nur 1 Paramter erstellen kann (@param). Also rein technisch gehts natürlich schon, aber bei der html-Ausgabe erscheint nur einer, mestens der oberste oder der unterse, bin mir nicht mehr ganz sicher. Das heisst, im schlimmsten Falle müsste ich alles in einen Parameter kippen, was aber sicher nicht der Sinn der Sache ist. Hab auch schon versucht nur ein retrun reinzunehmen und nicht immer wieder neue Scopes zu erstellen, jedoch geht das auch nicht. Kann mir da jemand weiterhelfen?

Lg
drpingoo
 
Moin!
Und du bist sicher auch valide Kommentare benutzt zu haben?
Zeig doch mal eine kommentierte Klasse, für die keine korrekte JavaDoc Kommentierung erzeugt wird.


*grüssle*
MeinerEiner
 
Also bei mir sieht das so aus:

Java:
import java.util.Random;
/**
 * 
 * @author Pascale Meier & Tamara Hediger
 * @version 1.3
 */


public class ClassX{

    /**
     * @param n
     * n darf nicht kleiner sein als 2.
     *
     *
     * n muss ungerade oder 2 sein.
     *
     * 
     * die schleife wird erst, wenn n mindestens 9 ist, betreten.
     *
     *
     * nur primzahlen werden als "true" ausgegeben.
     *
     *
     * eine zufallszahl wird generiert, im betrag genommen und n zugeordnet.
     *
     *
     * r uebernimmt entweder true oder false aus der myMethod-Methode.
     *
     *
     * auf der konsole wird n und r ausgegeben.
     * @return
     */
    public static boolean myMethod(int n) { 
        if (n < 2) {
            return false;
        }
 else if (n == 2) {
            return true;
        }
        else if (n % 2 == 0) {
            return false;
        }
        else {
            for (int i=3; i*i<=n; i+=2) {
                if (n%i==0) {
                    return false;
                }
            }
            return true;
        }
    }

    public static void main(String[] args) {
        Random g = new Random();
        int n = Math.abs(g.nextInt());
        boolean r = myMethod(n);
        System.out.println("Result for n=" + n + " is " + r);
    }
}


lg
 
Deine Methode bekommt doch nur einen Parameter?!

Bei zwei Autoren solltest du übrigen zwei @author benutzen :)
 
ja, stimmt in diesem Falle schon, das ist ja bereits auch die "korrigierte Version. Aber eigntl wäre es so gedacht, dass jeder Satz einen eigenen Parameter kriegt, was aber eben, wie geasgt, nicht funktioniert.

Lg
 
Also nochmal allgemein zu Javadoc: Du solltest nicht irgendwelche Parameter nennen die deine Methode intern benutzt, sondern nur sagen was mit den Parametern gemacht wird die reingehen (bei dir n) und was dann ingesamt dabei rauskommt (@return). Dass du intern eine Schleife benutzt, etc. ist nicht relevant. Wenn du dir selber mal ein wenig Dokumentation anschaust wirst du schnell sehen wie man diese am Besten schreibt.

Entsprechend kannst du mit @param auf jeden Fall auch nur Parameter angeben die deiner Methode tatsächlich übergeben werden.

So wäre es meiner Meinung nach schöner:

Java:
package de.tutorials;

import java.util.Random;

/**
 * Hier schreiben was die Klasse so tut.
 * @author P. M.
 * @author T. H.
 * @version 1.3
 */
public class ClassX {

	/**
	 * Diese Methode testet ob es sich bei einer Zahl um eine Primzahl handelt.
	 * 
	 * @param n
	 *            Die zu testende Zahl.
	 * 
	 * @return <code>true</code> wenn es sich um eine Primzahl handelt,
	 *         ansonsten <code>false</code>.
	 */
	public static boolean myMethod(int n) {
		if (n < 2) {
			return false;
		} else if (n == 2) {
			return true;
		} else if (n % 2 == 0) {
			return false;
		} else {
			for (int i = 3; i * i <= n; i += 2) {
				if (n % i == 0) {
					return false;
				}
			}
			return true;
		}
	}

	/**
	 * Erstellt eine Zufallszahl und gibt auf der Konsole aus ob es sich bei
	 * dieser um eine Primzahl handelt.
	 * 
	 * @param args
	 *            Werden nicht benutzt.
	 */
	public static void main(String[] args) {
		Random g = new Random();
		int n = Math.abs(g.nextInt());
		boolean r = myMethod(n);
		System.out.println("Result for n=" + n + " is " + r);
	}
}
 
Es geht ja auch, aber nur für Parameter die deiner Methode übergeben werden. Nicht für welche die du einfach in deiner Methode benutzt. Du kannst nur das Kommentieren was auch von außen an der Methode zu sehen ist.

args verwendest du nicht in deiner main-Methode, also sollte man das auch entsprechend so kommentieren. In args stecken sonst Parameter die du beim Starten deines Programms von außen übergeben kannst.
 
Ok, danke:). Ja, habs jetzt gecheckt. Kleine Frage noch, bei mir ist es so, dass ich pro Variable nur einen Parameter verwenden kann, da die anderen dann nicht ausgeprintet werden würden, muss das so sein?

lg
drpingoo
 
Kleine Frage noch, bei mir ist es so, dass ich pro Variable nur einen Parameter verwenden kann, da die anderen dann nicht ausgeprintet werden würden, muss das so sein?
Ich würde Nein sagen. Zum einen verstehe ich die Fragestellung nicht so ganz und zum anderen ist diese Feststellung in meinen Augen totaler Humbug.
Schreib doch ein Beispielcode, dann weis ich was du meins. Normalerweise kann man einer Methode mehrere Parameter übergeben.
 
Zurück