La documentazione del metodo toString() l'avevo letta, solo che non avevo capito cosa c'entrava con il mio problema, poichè ho fatto mille volte esercizi del genere senza nessun'altro metodo e mi veniva l'array stampato in output.
Ho corretto di nuovo gli errori, cambiando un po' il tipo di dato che si restituisce (da int[] a String):
codice:
package pari_1_100;

public class NumeriPari {

    private int numero=0, numeriPari[];
    final int pari = 50;
    String r;

    public NumeriPari(){
        numeriPari = new int[pari];
    }

    public String StampaConWhile(){
        int i = 0;
        while(i<pari){
            numero=numero+2;            
            numeriPari[i] = numero;
            i++;
        }
        r="Numeri: "+numeriPari[pari];
    return r;
    }

    public String StampaConDo_While(){
        int i = 0;
        do{
            numero=numero+2;
            numeriPari[i]=numero;
            i++;
        }while(i<pari);
        r="Numeri: "+numeriPari[pari];
    return r;
    }

    public String StampaConFor(){
        for(int i = 0;i < 50; i++){
            numero=numero+2;
            numeriPari[i]=numero;
        }
        r="Numeri: "+numeriPari[pari];
    return r;
    }
    
}
Ora, come sempre c'è qualcosa che non va. Mi dà l'errore di nuovo. E 'sta volta anche senza stamparmi qualcosa:

codice:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 50
        at pari_1_100.NumeriPari.StampaConWhile(NumeriPari.java:20)
        at pari_1_100.Main.main(Main.java:13)
Java Result: 1