hilfe bei meiner Schulaufgabe

pikus

Mitglied
ich brauche Hilfe bei meiner Schulaufgabe und die Aufgabenstelleung lautet so:

Konvertiert ein zweidimensionales Feld aus Zeichenketten in eine Zeichenkette.
Die Teilzeichenketten werden dabei durch den 'columnSeparator' und den 'rowSeparator'
getrennt.
columnSeparator ist das ; und rowSeparator ist das \

Anwendungsbeispiel:

ich habe den String im Parameter:
String [][] saa = {{ "aa", "bb", "cc"}, { "dd", "ee"}};

und die ausgabe der Methode soll dan so aussehen
=> "aa;bb;cc\ndd;ee"


Wenn kein Feld uebergeben wird, dann wird null zurueckgegeben.
Wenn ein leeres Feld uebergeben wird, dann lautet das Ergebnis "".
@param saa Feld aus Zeichenketten
@return formatierte Zeichenkette



ich hab schon sowas geschrieben hier aber es funktionert nicht


PHP:
public static String sArray2toS(String[][] saa){
        if(saa == null)
            return null;
        
        StringBuilder sb = new StringBuilder();
        
        for(int i = 0; i < saa.length; i++) {
            String [] sa=saa[i];
            if(sa == null)
                return null;
            
            for(int y = 0; y < sa.length; y++) {
                if(sa[i] == "")
                    sb.append(columnSeparator);
                else if(sa[i] == null)
                    return null;
                else
                    sb.append(sa[i]+columnSeparator);
            }
            sb.replace(sb.length()-1, sb.length(), "");
            sb.append(rowSeparator);
        }
        
        
        if(sb.length() > 0)
            sb.replace(sb.length()-2, sb.length(), "");
        return sb.toString();
    }



DANKE
 
der Inhalt von Objekten (auch Strings) wird mittels der Methode equals verglichen...mit == vergleicht man bei Objekten nur die Adresse im Speicher.

Ansonsten:

for(){

for(){
füge zu Ergebnis hinzu+ ;
}
füge \n hinzu
}
 
Zuletzt bearbeitet:
ich hab den script jetzt umgeschrieben
aber es funktionnier immer noch nicht,
weil wenn dem Parameter den String übergebe:
saa = { {"aa", "bb", "cc"}, { "1", "2"}};
dann sollte die ausgabe so aussehen
"aa;bb;cc\n1;2"
aber sieht so aus
"aa;aa;aa...."
ist also falsch

PHP:
public static String sArray2toS(String[][] saa){
        if(saa.equals(null))
            return null;
        
        StringBuilder sb = new StringBuilder();
        
        for(int i = 0; i < saa.length; i++) {
            String [] sa=saa[i];
            if(sa.equals(null))
                return null;
            
            for(int y = 0; y < sa.length; y++) {
                
                    sb.append(sa[i]+columnSeparator);
            }
            sb.replace(sb.length()-1, sb.length(), "");
            sb.append(rowSeparator);
        }
        
        
        if(sb.length() > 0)
            sb.replace(sb.length()-1, sb.length(), "");
        return sb.toString();
    }
 
Hallo,

schau dir mal die Zeile
Code:
sb.append(sa[i]+columnSeparator);
genau an – da solltest du ja irgendwie den Laufindex y unterbringen.

Grüße,
Matthias
 
ok ha ich gemacht aber jetzt hab ich ein error

PHP:
 public static String sArray2toS(String[][] saa){
         if(saa.equals(null))
            return null;
        
        StringBuilder sb = new StringBuilder();
        
        for(int i = 0; i < saa.length; i++) {
            String [] sa=saa[i];
            if(sa.equals(null))
                return null;
            
            for(int y = 0; y < sa.length; y++) {
                
                    sb.append(sa[y]+columnSeparator);
            }
            sb.replace(sb.length()-1, sb.length(), "");
            sb.append(rowSeparator);
        }
 
Zurück