Hallo,
Ich will folgende Aufgabe lösen
ich hab jetzt folgenden Lösungsansatz
Er zeigt mir immer einen Fehler beim compilieren. Er stopt bei return und sagt mir incompatible type. Obwohl es sich hier um einen Char handelt und es eigentlich richtig sei müsste. Könntet ihr mir sagen was beim return nicht stimmt?
Programmierumgebung : Bluej 3.0.5
Ich will folgende Aufgabe lösen
4. Verschlüsselung
Eine Feld von Zeichen soll verschlüsselt werden, indem das Schreiben der Zeichen in ein zweidimensionales Feld und das
Lesen der Zeichen aus diesem Feld auf unterschiedliche Weisen erfolgen.
• Implementieren Sie eine Methode encrypt, die als Parameter ein eindimensionales Feld source des Typs
char besitzt.
• Legen Sie in encrypt ein zweidimensionales, quadratisches Feld twoDim mit der Größe 4 x 4 an.
• Füllen Sie das Feld twoDim zeilenweise mit den Werten aus source auf.
• Sobald das Feld twoDim ganz gefüllt ist, werden die darin enthaltenen Zeichen spaltenweise ausgelesen und
nacheinander in das eindimensionales Feld target geschrieben.
• Dieser Vorgang wird solange wiederholt, bis source vollständig gelesen wurde.
• Wird das Ende von source erreicht, bevor twoDim ganz gefüllt war, so soll twoDim durch Leerzeichen
aufgefüllt werden. Beachten Sie, dass target daher möglicherweise länger als source sein muss.
• Geben Sie target als Ergebnis der Verschlüsselung zurück.
ich hab jetzt folgenden Lösungsansatz
Java:
public class CCC4
{
char [][] twoDim = new char [4][4];
char [] target = new char [twoDim.length * twoDim[0].length];
public char encrypt(char source [])
{
int j = 0;
for(int i=0;i<source.length;i++)
{
if(i>twoDim.length)
{
twoDim [i][j] = source [i];
}
else
{
while(j<twoDim[0].length)
{
j++;
i=0;
}
}
}
int k = 0;
for(int i=0;i<target.length;i++)
{
if(i>twoDim.length)
{
target [i] = twoDim[k][i];
k++;
i=0;
}
else
{
while(k<twoDim[0].length)
{
k++;
i=0;
}
}
if(i > source.length && i < target.length)
{
target [i] = ' ';
}
}
return (char[]) target;
}
public void main()
{
char source1 [] = {'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P'};
System.out.print(encrypt(target) +" Leerzeichen");
}
}
Er zeigt mir immer einen Fehler beim compilieren. Er stopt bei return und sagt mir incompatible type. Obwohl es sich hier um einen Char handelt und es eigentlich richtig sei müsste. Könntet ihr mir sagen was beim return nicht stimmt?
Programmierumgebung : Bluej 3.0.5