while-schleife funzt nicht

  • Java

  • Funk
  • 4515 Aufrufe 33 Antworten

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • 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.
  • 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:

    Quellcode

    1. Mapping mapping = new Mapping();
    2. for(...)
    3. {
    4. mapping.buchstabeInZahl(klartext.charAt(i));
    5. ....
    6. }


    oder du musst die funktion und die map static machen:

    Quellcode

    1. public class Mapping
    2. {
    3. static Map<String, Integer> map = new HashMap<String, Integer>();
    4. ...
    5. public static int buchstabeInZahl(char buchstabe)
    6. {
    7. ....
    8. }
    9. }


    Ungetestet, sollte aber theoretisch beides klappen...
    [SIZE="1"]i'm a signature virus. copy me into your signature to help me spread. - smart questions[/SIZE]
  • 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 ?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Funk ()

  • 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.