while-schleife funzt nicht Java 

Status
Für weitere Antworten geschlossen.
Theoretisch geht das, ist auch nicht viel schwieriges bei, aber ein ziemlich code intensiver Umweg. Was hindert dich denn daran mit den ASCII Werten zu arbeiten?
 
Weil ich dann Probleme beim Entschlüsseln habe. Wenn ich nachher verschlüsselte Zahlen als Parameter übergebe, hab ich das Problem, dass ich nicht weiß, wie ich die Zahlen teilen soll. Da kann dann beispielsweise eine 12 das A sein oder 120. Deswegen brauche ich eine feste Anzahl an Zahlen die einen Buchstaben darstellen, damit ich hinterher die verschlüsselten Zahlen in Zahlenblöcke aufteilen kann.
 
Ach so, okay. Aber dann sollte es doch reichen zu jeden Code 100 zu addieren, dann entspricht jedem Buchstaben eine 3-stellige Zahl und es dürfte relativ einfach in deinen bestehenden Quelltext einzuarbeiten sein.
 
Also ich hab es jetzt mit der Hashmap probiert und da den Buchstaben die Zahlen ab 10 zugewiesen. Hab jetzt ein Problem bei der Übergabe der Werte an die andere Zahlen. Hier die Codes: Algorithmus: #1740991 - Pastie Hashmap: #1740992 - Pastie

Kriege beim Algorithmus in Zeile 58 die Meldung "non-static method buchstabeInZahl(char) cannot be referenced from a static context" .

Finde leider keine Lösung :(
 
Du greifst auf die Methode zu als wäre sie eine Static function.
Entweder du musst vorher eine instanz erzeugen:
Code:
Mapping mapping = new Mapping();
for(...)
{
mapping.buchstabeInZahl(klartext.charAt(i));
....
}

oder du musst die funktion und die map static machen:
Code:
public class Mapping
{
static Map map = new HashMap();
...
public static int buchstabeInZahl(char buchstabe)
{
....
}
}

Ungetestet, sollte aber theoretisch beides klappen...
 
Achso, jo stimmt.

Ne andere Sache, wenn ich jetzt bei Mapping die Methode teste buchstabeInZahl, kriege ich da, egal bei welchem Buchstabe, immer eine Nullpointerexception. Übrigens sind diese Zahlen bei der Zuweisung wieder schwachsinn, weil ich wieder zahlen unterschiedlicher länger heraus bekomme. Wie kann ich den Mist lösen ?
 
Zuletzt bearbeitet von einem Moderator:
Kurz was anderes. Kann mir einer erklären ,wie das da auf der Seite mit dem entschlüsseln machen ? Hier Die setzten A = 01 bis Z=26. Da man ja nicht mit 01 rechnen kann, wird anscheinend die 0 gestrichen und dann mit 1 gerechnet. Bis dahin kann ich das noch nachvollziehen, aber wie kommen die auf das Ergebnis bei J=10 ?!?
 
Kannst du deine Frage etwas verständlicher formulieren, damit auch Leute, die sich mit RSA nicht auskennen deine Frage beantworten können?

Was genau möchtest du mit den Zahlen machen, was mit 1 anstelle von 01 nicht zu gehen scheint? Wenn es nur um eine einheitliche Stellenanzahl geht kannst du ja einfach eine 3-stellige Zahl addieren.
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben Unten