Muster programmieren

canyakan95

Bekanntes Mitglied
hallo ich soll folgendes muster programmieren: oAAAo
ooAoo
=====
uuuuu
uuuuu (5x5)

ich habe folgendes schon mal geschafft:
Java:
public class Spiegel{

    char[][] feld;

    public Spiegel (int n)
    {
        if(n<5)n=5;
        else
        if(n%2==0)n=n+1;
   
        feld= new char[n][n];
   
        public void fuelleFeld(char oben, char unten)
        {
            char gleich='=';
       
            for(int i=0;i<n/2;i++)
            {
                for(int j=0;j<n;j++)
                {
                    feld[i][j]= oben;
                }
            }
       
            for(int i=0;i<n;i++)
            {
                feld[n/2][i]= '=';
            }
       
            for(int i=(n/2)+1;i<n;i++)
            {
                for(int j=0;j<n;j++)
                {
                    feld[i][j] = unten;
                }
            }
        
        public void fuelleOberesDreieck(char fuellzeichen)
        {
            int grenze= (n/2);
            int start=0;
            while(start<grenze)
            {
                int j=n;
                for(int i=0;i<j-1;i++)
                {
                    int zeile=0;
                    feld[zeile][i]=fuellzeichen;
                    zeile++;
                    i++;
                    j--;
                }
                start++;
            }
        }

        }
}

mit diesem programmcode bekomme ich allerdings nur folgendes : ooooo
ooooo
=====
uuuuu
uuuuu

mein fehler liegt irgendwo in der 2.methode...ich finde es allerdings nicht.

ich weis leider nicht wie ich den teil mit dem a hinkriege und wollte fragen ob ihr vllt lösungsvorschläge für mich habt .bin echt am verzweifeln ..und das soll für verschieden größen funktionieren...bei z.b.(6x6) ...1.)4xA 2.)2A..... halt so ein umgekehrtes dreieck von A´s.
mfg
 
Zuletzt bearbeitet von einem Moderator:
Hier bitteschön:

Java:
public class Spiegel {

    char[][] feld;
    int n;

    public static void main(String[] args) {
        Spiegel spiegel = new Spiegel(5);
        spiegel.fuelleFeld('o', 'u');
        spiegel.fuelleOberesDreieck('A');
        for (int zeile = 0; zeile < spiegel.n; zeile++) {
            for (int spalte = 0; spalte < spiegel.n; spalte++) {
                System.out.print(spiegel.feld[zeile][spalte]);
            }
            System.out.println();
        }
    }

    public Spiegel(int n) {
        if (n <= 5)
            n = 5;
        else if (n % 2 == 0)
            n = n + 1;

        this.n = n;
        feld = new char[n][n];
    }

    public void fuelleFeld(char oben, char unten) {
        for (int i = 0; i < n / 2; i++) {
            for (int j = 0; j < n; j++) {
                feld[i][j] = oben;
            }
        }

        for (int i = 0; i < n; i++) {
            feld[n / 2][i] = '=';
        }

        for (int i = (n / 2) + 1; i < n; i++) {
            for (int j = 0; j < n; j++) {
                feld[i][j] = unten;
            }
        }
    }

    public void fuelleOberesDreieck(char fuellzeichen) {
        int anzahl = n - 2;
        int zeile = 0;
        while (zeile < n / 2) {
            for (int i = n / 2 - anzahl / 2; i <= n / 2 + anzahl / 2; i++) {
                feld[zeile][i] = fuellzeichen;
            }
            zeile++;
            anzahl = anzahl - 2;
        }
    }
}
 

Zurück
Oben