Ich habe ein kleines Problem mit meinem Code. Ich habe versucht, Code von Python in Java umzuschreiben.Array-Index außerhalb der Grenzen Ausnahme -77
In Python ist es:
data = bytearray(filesize)
f.readinto(data)
Dann habe ich versucht, es so in Java zu schreiben:
try {
data = Files.readAllBytes(file.toPath());
} catch (IOException ex) {
Logger.getLogger(Encrypter.class.getName()).log(Level.SEVERE, null, ex);
}
for(int index : data) {
data[index] = (byte) ((byte) Math.pow(data[index], genfun((fileSize), index)) & 0xFF);
}
Alles für mich, gut zu sein scheint, aber wenn ich es kompilieren und es gibt eine Java .lang.ArrayIndexOutOfBoundsException: -77
Hat jemand eine Ahnung oder kann es besser umschreiben?
'for (int index: data)' Warum denken Sie, dass Sie Indizes durch die Verwendung dieses nicht erhalten? Das ist falsch. Verwenden Sie stattdessen eine normale "for" -Schleife. – Tom
@Tom Das ist eine ziemlich unhöfliche Art, ihm zu sagen, dass er eine falsche Syntax benutzt. @ czaro112112 verwenden Sie das 'for (int i = 0; i
Kon
@Kon Sie meinen *" Das ist eine ziemlich unhöfliche Art, ihm zu sagen, dass er offensichtlich inkorrekte Syntax verwendet, die durch ein paar Minuten der Forschung bekannt gewesen wäre. "*? Ich habe wirklich Mühe zu verstehen, warum viele neue Benutzer nicht nach verwendeter API oder Syntax recherchieren. Es ist enttäuschend. – Tom