buchstaben array ausgeben

lennero

Bekanntes Mitglied
hallo. die buchstaben sollen in diesem format in der konsole ausgegeben werden.
932627b429dce194f801dadb94a6de4f.png

das array soll mit 2 for schleifen gefüllt und mit 2 for schleifen ausgegeben werden wie kriege ich das hin ?. ich bekomme es aber nur mit 2 for schleifen hin und auch da ist die ausgabe anders nämlich so:

efe45a81fbcfd344511c7ad2a263fc38.png


Java:
class array{
    public static void main(String[]args){
     
        String [][] a;
        a= new String [3][5];
     
        char b='A';
     
        for(int i=0; i<a.length;i++){
            for(int j=0;j<a[i].length;j++){
                a[i][j] = ""+((char)(i+b))+""+((char)(j+b));
                System.out.print(a[i][j]+"\t");
             
            }
            System.out.println();
         
        }
     
    }
}
 
Zuletzt bearbeitet von einem Moderator:

lennero

Bekanntes Mitglied
ok habe den code mittlerweile geändert sodass das format stimmt : wie kriege ich das nun mit 4 schleifen hin ? also mit 2 schleifen füllen und mit 2 schleifen ausgeben ?
Java:
class array{
    public static void main(String[]args){
     
        String [][] a;
        a= new String [5][3];
     
        char b='A';
     
        for(int i=0; i<a.length;i++){
            for(int j=0;j<a[i].length;j++){
                a[i][j] = ""+((char)(i+b))+""+((char)(j+b));
                System.out.print(a[i][j]+"\t");
             
            }
            System.out.println();
         
        }
     
    }
}
 
Zuletzt bearbeitet von einem Moderator:

lennero

Bekanntes Mitglied
habs nun hinbekommen. ich verstehe aber den sinn hinter den 2 schleifen irgendwie nicht, macht es den code nicht dadurch unnötig länger ?

Java:
class array{
    public static void main(String[]args){
        String [][] a;
        a= new String [5][3];
   
        char b='A';
   
        for(int i=0; i<a.length;i++){
            for(int j=0;j<a[i].length;j++){
                a[i][j] =""+((char)(i+b))+""+((char)(j+b));
            }
        }
   
        for(int i=0;i<a.length;i++){
            for(int j=0;j<a[i].length;j++){
                System.out.print(a[i][j]+"\t");
            }
            System.out.println();
        }
    }
}
 
Zuletzt bearbeitet von einem Moderator:

Joose

Top Contributor
Klar du könntest die Ausgabe auch direkt in den ersten beiden Schleife vornehmen.
Aber du hast die Aufgabenstellung selbst gepostet. 2 Schleife um das Array zu befüllen und 2 Schleife um das Array auszugeben
 
X

Xyz1

Gast
Ich hätte das etwas einfacher und mehr funktional/parametrisiert geschrieben als du:

Java:
/**
* @author DerWissende, 15.12.2015
*/
public class Temp {

    public static void main(String[] args) {
        kombinieren(new char[2], new char[][]{{'a', 'b', 'c'}, {'a', 'b', 'c', 'd', 'e'}}, 0);
    }

    public static void kombinieren(final char[] chrArr, final char[][] chrArrArr, final int index) {
        if (index >= chrArrArr.length) {
            System.out.println(String.valueOf(chrArr));
            return;
        }
        for (char c : chrArrArr[index]) {
            chrArr[index] = c;
            kombinieren(chrArr, chrArrArr, index + 1);
        }
    }
}

Gibt dann aus:

Code:
aa
ab
ac
ad
ae
ba
bb
bc
bd
be
ca
cb
cc
cd
ce

final ist Geschmackssache, ich finde es "eigentlich" unleserlich

Jetzt musst du dich nur noch um eine schöne Ausgabe kümmern, oder diese in einem zusätzlichen Parameter "zusammenbauen", der dann zurückgegeben wird.

mfg
 

Neue Themen


Oben