Java Char Array mit einem String ausffüllen?
Ich möchte ein Array von einer bestimmten Position aus mit einer Kette füllen, aber ich merke, dass das Array nicht durchlaufen wird. Wie kann ich das umsetzen? Hier ist mein Code:
Ich wollte ab Positon 64 ausfüllen, das heißt for int i = 64 bis die Position 91 in der result Tabelle.
Habe alles versucht, aber weiß nicht, was das Problem ist.
public class Ausffuellen {
public static void main(String[] args) {
char[] key = fuell("WXZJKACSRTPNOMLYVFHEGIUDBQ");
System.out.println(key[67]);
System.out.println(key[91]);
}
public static char[] fuell(String key) {
char[] result = new char[256];
for (int j = 0; j <=key.length(); j++) {
for (int i = 64; i < result.length - 164 ; i++){
result [i] = key.charAt(j);
}
}
return result;
}
}
2 Antworten
Ich habe also anders nochmal gemacht und habe also so gechrieben.
Die Char Array wurde ausgeffüllt, aber ist mein code wirklich gut geschrieben oder kann ich das anders schreiben? Immer mit meinem For-Schleifen.
public class Ausffuellen {
public static void main(String[] args) {
char[] key = fuell("WXZJKACSRTPNOMLYVFHEGIUDBQ");
System.out.println(key[67]);
System.out.println(key[91]);
}
public static char[] fuell(String key) {
char[] result = new char[256];
for (int j = 0; j <= key.length() ; j++)
for (int i = 64; i < 92 ; i++, j++)
result [i] = key.charAt(j);
return result;
}
}

So, wie ich dich verstehe, willst du am Ende ein char-Array haben, wo die Positionen 0-63 leer sind und ab 64 die Zeichen aus dem String drinstehen.
Ich weiß nicht, warum du da zwei geschachtelte Schleifen benutzt. Ich hätte es so gemacht:
public static char[] fuell(String key) {
char[] result = new char[256];
for (int i = 0; i<key.length(); ++i) {
result[i+64] = key.charAt(i);
}
return result;
}
Ich habe dein Code versucht, aber das füll nicht alle Felder. :-(