Konkatenieren

xSkyyline95

Mitglied
Hey ich brauche Hilfe bei folgender Aufgabenstellung:

Schreiben Sie eine Methode namens konkatenieren, die zwei als Parameter übergebene char‐Felder in der Reihenfolge 1.Parameter, 2.Parameter aneinander hängt und in einem von der Methode neu zu erzeugenden char‐Feld ablegt. Der Rückgabewert der Methode ist ein Verweis auf dieses neue char‐Feld. Testen Sie die Methode mit Hilfe einer main‐Methode.

Kann mir da jemand weiterhelfen ?
 

xSkyyline95

Mitglied
public class Konkatenieren
{

public static void main (String[] args)
{
char[] feld1 = { 'a', 'b', 'c', 'd', }; // Feld 1 & 2 werden definiert
char[] feld2 = { 'e', 'f', 'g', 'h', };

konkatenieren(feld1, feld2);
}

public static void konkatenieren(char[] parameter1, char [] parameter2)
{

char[] gemeinsamesFeld = new char[parameter1.length + parameter2.length]; // Gemeinsames Feld mit der Länge von Feld 1+Feld 2

for (int i = 0; i<parameter1.length; i++) // Feld 1 wird in das geminsame Feld geschrieben
{
gemeinsamesFeld = parameter1;
}
for (int j = 0; j < parameter2.length; j++) // Feld 2 wird in das gemeinsame Feld geschrieben
{
gemeinsamesFeld[j + (parameter1.length)] = parameter2[j];
}
System.out.print("Das neue Feld: "); // Ausgabe des gemeinsamenFeld
for (int k = 0; k < gemeinsamesFeld.length; k++)
{
System.out.print(gemeinsamesFeld[k]);
}
}
}
Habe das jetzt so gelöst ist das passend zur Aufgabenstellung ? Weil da bin ich mir nicht ganz sicher
 

httpdigest

Top Contributor
Die Methode tut zwar schon das richtige, aber sie gibt noch nicht, wie gefordert, das Ergebnis als Rückgabewert der Methode zurück:
Der Rückgabewert der Methode ist ein Verweis auf dieses neue char‐Feld.
Außerdem steht nirgendwo, dass du per System.out.println() das Ganze ausgeben sollst. Du sollst eher automatisiert testen, ob die Methode das richtige tut. Das kannst du mit Arrays.equals() in main() tun, indem du das Ergebnisarray, was die Methode zurückliefert, gegen ein erwartetes fixes Array vergleichst. Normalerweise würde man dafür ein Unit-Testing-Framework wie etwa JUnit verwenden, aber ihr sollt das erstmal einfach in einer main() machen, was ja okay ist.
 

Robat

Top Contributor
1. Code bitte in Java-Code Tags [code=Java]Dein Code[/code]
2. Dein Code passt noch nicht 100%ig zur Aufgabe. Du sollst das neue Array zurückgeben und nicht nur ausgeben
 

Robat

Top Contributor
Ja und dann musst du noch den Rückgabewert der Methode ändern.
Also aus dem void muss dann ein _____ werden
 

xSkyyline95

Mitglied
Java:
public class Konkatenieren
{
   
    public static void main (String[] args)
    {
        char[] feld1 = { 'a', 'b', 'c', 'd', };                                        // Feld 1 & 2 werden definiert
        char[] feld2 = { 'e', 'f', 'g', 'h', };
        System.out.print("Das neue Feld: ");                                        // neues Feld wird ausgegeben
        System.out.println(konkatenieren(feld1, feld2));
    }
   
    public static char[] konkatenieren(char[] parameter1, char [] parameter2)
    {
   
    char[] gemeinsamesFeld = new char[parameter1.length + parameter2.length];        // Gemeinsames Feld mit der Länge von Feld 1+Feld 2
   
    for (int i = 0; i<parameter1.length; i++)                                        // Feld 1 wird in das geminsame Feld geschrieben
    {
    gemeinsamesFeld[i] = parameter1[i];
    }
    for (int j = 0; j < parameter2.length; j++)                                        // Feld 2 wird in das gemeinsame Feld geschrieben
    {
    gemeinsamesFeld[j + (parameter1.length)] = parameter2[j];
    }                           
    return gemeinsamesFeld;
    }
}

Denke das es jetzt passen müsste :)
 

Ähnliche Java Themen

Neue Themen


Oben