Häufigster Buchstabe lässt sich nicht ermitteln

Kiki01

Mitglied
In der Aufgabe soll ich den Häufigsten Buchstaben im Text bestimmen, jedoch erhalte ich bloß ein Zeichen. Was habe ich falsch gemacht?Screenshot 2021-11-20 145402.png
 
K

kneitzel

Gast
Also erst ein mal ist es unschön, nur ein Bildschirmfoto auszugeben auf dem zudem nur sehr wenig zu sehen ist.

Aber was gibt die Methode getIndexOfMaximumEntry wohl zurück (So die Methode macht, was der Name sagt und das nicht ein Fall von: "Ich verarsche mich einfach selbst" ist.)

Und generell: Wann immer du einen Typen castet, dann solltest Du immer ganz genau aufpassen. Das ist in der Regel bei Rückgaben von Methoden ganz schlecht: Entweder ist der Cast schicht Müll oder die Methode ist Schrott (Was ich oben schon als ein Fall von "Ich verarsche mich einfach selbst" bezeichnet habe!)

Also ganz wichtig: Das mit dem "verarschen" bezieht sich nicht auf Dich sondern nur auf Code. Code sollte das machen, was er aussagt. Und wenn eine Methode einen int zurück gibt, dann sollte das auch ein int sein vom Wert her. Das sollte dann kein char sein. Wenn die Methode einen char zurückgeben sollte, dann sollte es auch den Rückgabetyp char haben. Ich hoffe, ich konnte das deutlich machen.
 

Jw456

Top Contributor
Das Array historam beinhaltet ja genau an der gleichen Index stelle wie das Zeichen die Anzahl wie oft es vor kommt . Also was brauchst du ?
Index = ASCII wert.


Java:
int[] histogram = getHistogram(text);
int indexOfMaximumEntry = getIndexOfMaximumEntry(histogram);

float  quantity = histogram[indexOfMaximumEntry];
 
Zuletzt bearbeitet:

Kiki01

Mitglied
Also erst ein mal ist es unschön, nur ein Bildschirmfoto auszugeben auf dem zudem nur sehr wenig zu sehen ist.

Aber was gibt die Methode getIndexOfMaximumEntry wohl zurück (So die Methode macht, was der Name sagt und das nicht ein Fall von: "Ich verarsche mich einfach selbst" ist.)

Und generell: Wann immer du einen Typen castet, dann solltest Du immer ganz genau aufpassen. Das ist in der Regel bei Rückgaben von Methoden ganz schlecht: Entweder ist der Cast schicht Müll oder die Methode ist Schrott (Was ich oben schon als ein Fall von "Ich verarsche mich einfach selbst" bezeichnet habe!)

Also ganz wichtig: Das mit dem "verarschen" bezieht sich nicht auf Dich sondern nur auf Code. Code sollte das machen, was er aussagt. Und wenn eine Methode einen int zurück gibt, dann sollte das auch ein int sein vom Wert her. Das sollte dann kein char sein. Wenn die Methode einen char zurückgeben sollte, dann sollte es auch den Rückgabetyp char haben. Ich hoffe, ich konnte das deutlich machen.
Ich bin erst seit Kurzem im Java Forum dabei, weshalb ich noch nicht so ganz weiß, wie man den gesamten Code hier teilen kann.
 

Kiki01

Mitglied
Das Array historam beinhaltet ja genau an der gleichen Index stelle wie das Zeichen die Anzahl wie oft es vor kommt . Also was brauchst du ?
Index = ASCII wert.


Java:
int[] histogram = getHistogram(text);
int indexOfMaximumEntry = getIndexOfMaximumEntry(histogram);

float  quantity = histogram[indexOfMaximumEntry];




public class CaesarChiffre {



public static final String GERMAN_LANGUAGE_PATTERN = "Werden zwei Glasstaebe mit einem Wolltuch gerieben, dann kann man feststellen, dass sich die beiden Staebe gegenseitig abstossen. Wird das gleiche Experiment mit zwei Kunststoffstaeben wiederholt, dann bleibt das Ergebnis gleich, auch diese beiden Staebe stossen sich gegenseitig ab. Im Gegensatz dazu ziehen sich ein Glas und ein Kunststoffstab gegenseitig an. Diese mit den Gesetzen der Mechanik nicht zu erklaerende Erscheinung fuehrt man auf Ladungen zurueck. Da sowohl Anziehung als auch Abstossung auftritt, muessen zwei verschiedene Arten von Ladungen existieren. Man unterscheidet daher positive und negative Ladungen.";

public static final String ENCRYPTED_MESSAGE = "ugjt iwv! fw jcuv fgp eqfg igmpcemv wpf fkt uq twjo wpf gjtg gtyqtdgp.pqtocngtygkug mcpp ocp jkgt inwgjygkp qfgt cgjpnkejgu igykppgp. fkgu hcgnnvkp fkgugo ugoguvgt ngkfgt cwu... uqtt{";



public static final char SEPARATOR = ' ';



//int[] histogram = new int[]{10, 11, 88, 2, 12, 120};

public static void main(String[] args){



//int[] array = new int[]{10, 11, 88, 2, 125, 120};

//int maxIndex = getIndexOfMaximumEntry(array);

int[] histogram = getHistogram(ENCRYPTED_MESSAGE);



getSignificantLetter(ENCRYPTED_MESSAGE);

int l = getIndexOfMaximumEntry(histogram);

char significantLetter = (char) l;

int quantity = getIndexOfMaximumEntry(histogram);



System.out.println("Unreadable, encrypted input text: " +

ENCRYPTED_MESSAGE);

String decodedText = decode();

System.out.println("Readable, decoded output text: " +

decodedText);



}









public static int getIndexOfMaximumEntry(int[] values) {

int maxIndex = values[0];

int index = 0;

for (int i = 0; i < values.length ; i++) {

if (maxIndex < values) {

maxIndex = values;

// index = i;

}

}

// System.out.println("Index position of Maximum value in the array is : " + index);





return maxIndex;



}



public static int[] getHistogram(String s) {

int[] histogram = new int[128];

String str = s.toLowerCase();

for (int i = 0; i < str.length(); i++) {

char v = str.charAt(i);



histogram[v] = histogram[v] +1;



}





return histogram;

}



public static char getSignificantLetter(String a) {



int[] histogram = getHistogram(a);



char significantLetter = (char) getIndexOfMaximumEntry(histogram);



float quantity = getIndexOfMaximumEntry(histogram);

int b = 0;

for (int i = 0; i < histogram.length; i++) {



if (histogram != (int) SEPARATOR) {

b += histogram;

}



}

double quota2 = (((double) quantity / (double) b) * 100);

int quota1 = (int) quota2;

System.out.println(" ");

System.out.println("Most significant letter: " + significantLetter);

System.out.println("Quantity: " + quantity + " times (" + quota1 + " % of whole text).");





return significantLetter;

}

public static int getShift(String encryptedText, String languagePattern) {

char sigOfChiffre = getSignificantLetter(encryptedText);

char sigOfPattern = getSignificantLetter(languagePattern);

int shift = (sigOfPattern - sigOfChiffre);

System.out.println("Most significant letter in the pattern text: " +sigOfPattern);

System.out.println("Most significant letter in the encrypted text: " + sigOfChiffre);

System.out.println("Resulting shift: " +shift);





return shift;

}

public static String decode(String encryptedText, String languagePattern ) {

int shift = getShift(encryptedText, languagePattern);

char[] lettersEncryptedText = encryptedText.toCharArray();

for (int i = 0; i < lettersEncryptedText.length; i++) {

if ( lettersEncryptedText >= 128) {

lettersEncryptedText += shift;

}

}

String decoded = new String(lettersEncryptedText);

return decoded;



}

}
 

Kiki01

Mitglied
public class CaesarChiffre {



public static final String GERMAN_LANGUAGE_PATTERN = "Werden zwei Glasstaebe mit einem Wolltuch gerieben, dann kann man feststellen, dass sich die beiden Staebe gegenseitig abstossen. Wird das gleiche Experiment mit zwei Kunststoffstaeben wiederholt, dann bleibt das Ergebnis gleich, auch diese beiden Staebe stossen sich gegenseitig ab. Im Gegensatz dazu ziehen sich ein Glas und ein Kunststoffstab gegenseitig an. Diese mit den Gesetzen der Mechanik nicht zu erklaerende Erscheinung fuehrt man auf Ladungen zurueck. Da sowohl Anziehung als auch Abstossung auftritt, muessen zwei verschiedene Arten von Ladungen existieren. Man unterscheidet daher positive und negative Ladungen.";

public static final String ENCRYPTED_MESSAGE = "ugjt iwv! fw jcuv fgp eqfg igmpcemv wpf fkt uq twjo wpf gjtg gtyqtdgp.pqtocngtygkug mcpp ocp jkgt inwgjygkp qfgt cgjpnkejgu igykppgp. fkgu hcgnnvkp fkgugo ugoguvgt ngkfgt cwu... uqtt{";



public static final char SEPARATOR = ' ';



//int[] histogram = new int[]{10, 11, 88, 2, 12, 120};

public static void main(String[] args){



//int[] array = new int[]{10, 11, 88, 2, 125, 120};

//int maxIndex = getIndexOfMaximumEntry(array);

int[] histogram = getHistogram(ENCRYPTED_MESSAGE);



getSignificantLetter(ENCRYPTED_MESSAGE);

int l = getIndexOfMaximumEntry(histogram);

char significantLetter = (char) l;

int quantity = getIndexOfMaximumEntry(histogram);



System.out.println("Unreadable, encrypted input text: " +

ENCRYPTED_MESSAGE);

String decodedText = decode();

System.out.println("Readable, decoded output text: " +

decodedText);



}









public static int getIndexOfMaximumEntry(int[] values) {

int maxIndex = values[0];

int index = 0;

for (int i = 0; i < values.length ; i++) {

if (maxIndex < values) {

maxIndex = values;

// index = i;

}

}

// System.out.println("Index position of Maximum value in the array is : " + index);





return maxIndex;



}



public static int[] getHistogram(String s) {

int[] histogram = new int[128];

String str = s.toLowerCase();

for (int i = 0; i < str.length(); i++) {

char v = str.charAt(i);



histogram[v] = histogram[v] +1;



}





return histogram;

}



public static char getSignificantLetter(String a) {



int[] histogram = getHistogram(a);



char significantLetter = (char) getIndexOfMaximumEntry(histogram);



float quantity = getIndexOfMaximumEntry(histogram);

int b = 0;

for (int i = 0; i < histogram.length; i++) {



if (histogram != (int) SEPARATOR) {

b += histogram;

}



}

double quota2 = (((double) quantity / (double) b) * 100);

int quota1 = (int) quota2;

System.out.println(" ");

System.out.println("Most significant letter: " + significantLetter);

System.out.println("Quantity: " + quantity + " times (" + quota1 + " % of whole text).");





return significantLetter;

}

public static int getShift(String encryptedText, String languagePattern) {

char sigOfChiffre = getSignificantLetter(encryptedText);

char sigOfPattern = getSignificantLetter(languagePattern);

int shift = (sigOfPattern - sigOfChiffre);

System.out.println("Most significant letter in the pattern text: " +sigOfPattern);

System.out.println("Most significant letter in the encrypted text: " + sigOfChiffre);

System.out.println("Resulting shift: " +shift);





return shift;

}

public static String decode(String encryptedText, String languagePattern ) {

int shift = getShift(encryptedText, languagePattern);

char[] lettersEncryptedText = encryptedText.toCharArray();

for (int i = 0; i < lettersEncryptedText.length; i++) {

if ( lettersEncryptedText >= 128) {

lettersEncryptedText += shift;

}

}

String decoded = new String(lettersEncryptedText);

return decoded;



}

}
So sieht mein Code bis jetzt aus, jedoch lässt sich der zu entschlüssende Text nicht entschlüsseln. Ich vermute, dass mein Fehler in der decode Methode liegt. Die Aufgabe ist es den häufigsten Buchstaben in beiden Texten zu finden und so die Geheimbotschaft zu entschlüsseln. Im code sind auch viele Kommentare, da es sich um Tests handelt, die sind jedoch nicht sehr relevant.
 

Jw456

Top Contributor
Mal von deinen Syntax Fehlern abgesehen der Code so wie du ihn uns gegeben hast kann nicht Kompiliert werden.

Was soll das?
Java:
char significantLetter = (char) getIndexOfMaximumEntry(histogram);
float quantity = getIndexOfMaximumEntry(histogram);
zweimal das gleiche

Ich habe dir schon gezeigt wie du an die Anzahl der meisten Buchstaben kommst.
Wenn du nicht lesen willst kann man dir auch nicht helfen.

Was die anschließende for schleife soll erschießt sich mir auch nicht.

Wenn du den link den ich dir in deinen ersten Thread gegen habe bis zum Ende anschaust und nicht irgend ein Code Fragment aus der Mitte ohne nachzudenken benutzt bist du selber schuld.


den Rest bin ich nicht durchgegangen.

PS.
selbst die Methode "getIndexOfMaximumEntry" ist falsch .

Der User aus dem anderen link hatte die Methode richtig ich habe da nur noch das mit dem Separator hinzugefügt. Du kannst ja nicht mal richtig abschreiben.
 
Zuletzt bearbeitet:

Kiki01

Mitglied
Mal von deinen Syntax Fehlern abgesehen der Code so wie du ihn uns gegeben hast kann nicht Kompiliert werden.

Was soll das?
Java:
char significantLetter = (char) getIndexOfMaximumEntry(histogram);
float quantity = getIndexOfMaximumEntry(histogram);
zweimal das gleiche

Ich habe dir schon gezeigt wie du an die Anzahl der meisten Buchstaben kommst.
Wenn du nicht lesen willst kann man dir auch nicht helfen.

Was die anschließende for schleife soll erschießt sich mir auch nicht.

Wenn du den link den ich dir in deinen ersten Thread gegen habe bis zum Ende anschaust und nicht irgend ein Code Fragment aus der Mitte ohne nachzudenken benutzt bist du selber schuld.


den Rest bin ich nicht durchgegangen.

PS.
selbst die Methode "getIndexOfMaximumEntry" ist falsch .

Der User aus dem anderen link hatte die Methode richtig ich habe da nur noch das mit dem Separator hinzugefügt. Du kannst ja nicht mal richtig abschreiben.
Sie können auch etwas respektvoller antworten oder Sie sind sie einfach jemand der immer meckern muss. Ihren ganzen Beiträgen zufolge reagieren Sie gerne genervt. Ich schau mir ihre Beiträge nochmal an Vielen Dank für ihre hilfreiche und ausführliche Antwort.
PS. Sie können nicht erwarten, dass jemand, der zum Ersten Mal eine Java Aufgabe bearbeitet schon alles richtig macht
 

Kiki01

Mitglied
Mal von deinen Syntax Fehlern abgesehen der Code so wie du ihn uns gegeben hast kann nicht Kompiliert werden.

Was soll das?
Java:
char significantLetter = (char) getIndexOfMaximumEntry(histogram);
float quantity = getIndexOfMaximumEntry(histogram);
zweimal das gleiche

Ich habe dir schon gezeigt wie du an die Anzahl der meisten Buchstaben kommst.
Wenn du nicht lesen willst kann man dir auch nicht helfen.

Was die anschließende for schleife soll erschießt sich mir auch nicht.

Wenn du den link den ich dir in deinen ersten Thread gegen habe bis zum Ende anschaust und nicht irgend ein Code Fragment aus der Mitte ohne nachzudenken benutzt bist du selber schuld.


den Rest bin ich nicht durchgegangen.

PS.
selbst die Methode "getIndexOfMaximumEntry" ist falsch .

Der User aus dem anderen link hatte die Methode richtig ich habe da nur noch das mit dem Separator hinzugefügt. Du kannst ja nicht mal richtig abschreiben.
Ich kann nicht abschreiben und Sie wissen nicht, wie man sich zu verhalten hat Sie eingebildeter ***** :D:D
 

Kiki01

Mitglied
Mal unabhängig vom bereits geschriebenen: Wenn du den häufigsten Buchstaben im Text suchst, dann ist das am Ende natürlich ein Zeichen. Was würdest du denn erwarten?
Ich habe als häufigsten Buchstaben Häufigsten Buchstaben einmal eine ] erhalten und einmal ein rechteckiges Zeichen, jedoch ist der häufigste Buchstabe in dem einen Text ein j und im anderen ein e. Ich schau nochmal drüber und versuch einiges zu korrigieren.
 

Jw456

Top Contributor
Sie können auch etwas respektvoller antworten oder Sie sind sie einfach jemand der immer meckern muss. Ihren ganzen Beiträgen zufolge reagieren Sie gerne genervt. Ich schau mir ihre Beiträge nochmal an Vielen Dank für ihre hilfreiche und ausführliche Antwort.
PS. Sie können nicht erwarten, dass jemand, der zum Ersten Mal eine Java Aufgabe bearbeitet schon alles richtig macht
Mann sollte schon erwarten können das ein Link den ich gebe auch bis zum Ende gelesen wird.

So noch mal der link schaue Post #49 da hast du den Code.

 

Kiki01

Mitglied
Mal unabhängig vom bereits geschriebenen: Wenn du den häufigsten Buchstaben im Text suchst, dann ist das am Ende natürlich ein Zeichen. Was würdest du denn erwarten?

Mann sollte schon erwarten können das ein Link den ich gebe auch bis zum Ende gelesen wird.

So noch mal der link schaue Post #49 da hast du den Code.

Entschuldigen Sie, dass ich versuche erstmal selber den Code zu schreiben, da es mir nichts bringt einfach einen abzuschreiben. Ich wollte lediglich einige Tipps.
 

Jw456

Top Contributor
selbst geschrieben nur zum Teil.
und dann noch die Fehler von dem anderen User einfach kopiert.


Wie auch schon in dem Link gesagt wurde gehört das prüfen mit dem Separator auch in die getIndexOfMaximumEntry Methode. Nicht danach. Geht auch aus der Aufgabenstellung hervor

PS wir sind hier per Du.
 

temi

Top Contributor
Entscheidend sind zwei Methoden: getHistogram() und getIndexOfMaximumEntry().

Die Erste liefert als Ergebnis ein Array von Integerwerten. Die enthaltenen Werte sind die Häufigkeiten der Zeichen.

Die Zweite liefert als Ergebnis den Index an dem der größte Wert in diesem Array steht.

Dieser Index entspricht genau dem ASCII-Wert des gesuchten Zeichens.
 
K

kneitzel

Gast
Ich habe mir jetzt nicht den ganzen Thread im Detail angesehen und daher sollte ich evtl. besser nichts schreiben (Man liegt sonst leicht daneben). Aber die Bezeichner sind immer wichtig und man muss da sehr gut aufpassen, was man macht.

Dann ganz wichtig: Code immer in Code Tags posten. Dazu dient links oberhalb des Eingabebereiches der Knopf </>!

Eine Methode sieht so aus bei Dir:
Java:
public static int getIndexOfMaximumEntry(int[] values) {
    int maxIndex = values[0];
    int index = 0;
    
    for (int i = 0; i < values.length ; i++) {
        if (maxIndex < values[i]) {
            maxIndex = values[i];
            // index = i;
        }
}

Was bitte schreibst Du in maxIndex? Da schreibst Du doch einen Wert! Also ist maxIndex eher maxValue!
Und dann gibst Du den Wert zurück!

==> Also das was ich schon geschrieben hatte meine ich (wenn beim letzten Mal evtl. fälschlich an falscher Stelle) :
Falsche Bezeichner führen zu falscher Nutzung! Selbstverarsche nenne ich sowas gerne mal.

Was Du also zurück gibst ist nicht der Index sondern die Anzahl! Und damit bekommst Du natürlich falsche Folgeergebnisse, weil Du dann die Anzahl des häufigsten Zeichens als Index weiter verwendest!
 

Jw456

Top Contributor
Wenn du dir anaschaust was du zur Grundlage benutzt hast solltest du nun den Fehler erkennen.
Das ist aus dem anderen Thread.

Java:
int maxIndex = 0;
int maxAnzahl = 0 ;
for (int i = 0; i < array.length; i++) {
    if  (array[i] > maxAnzahl ) {
            maxAnzahl = array[i];
            maxIndex = i;
    }
 

Blender3D

Top Contributor
In der Aufgabe soll ich den Häufigsten Buchstaben im Text bestimmen, jedoch erhalte ich bloß ein Zeichen. Was habe ich falsch gemacht?
Was du falsch machst? Du solltest die Aufgabe Schritt um Schritt erledigen.
Der erste und wichtigste Schritt, ist es zu verstehen, was genau zu tun ist.
Deinem Bildschirmfoto entnehme ich, dass du eine Funktion
Java:
int[] getHistogram( String text )
benötigst.
Jetzt legen wir erst einmal die eigentliche Aufgabe, den häufigsten Buchstaben zu finden, auf die Seite.
Wir konzentrieren uns nur auf diese Funktion. Sie hat als Eingabe einen Text und als Ausgabe Array von Integer Werten.
Jeder Wert des Arrays repräsentiert dabei die Anzahl eines bestimmten im Text gefundenen Zeichens.
z.B.
Java:
int [] histogram = getHistogram("Hallo")
ergibt
Java:
histogram[72]  --- 1 // 1 x H
histogram[97]  --- 1 // 1 x a
histogram[108] --- 2 // 2 x l
histogram[111] --- 2 // 1 x o
Hier eine ASCII Tabelle zum Vergleichen hier verwenden wir 128 Zeichen was der Größe des zurückgegebenen Arrays entspricht.
1637502623755.png
Der erste und Schritt ist also die Funktion zu schreiben.
Java:
int[] getHistogram( String text ){
    int[] histogram = new int[128]; // Groesse der ASCII Tabelle
    for( int i= 0; i < text.lenght; i++ ){
        char c = text.charAt(i); // der augenblickliche Buchstabe
        // erhöhe den Wert am korrespondierenden Index in histogram um 1
    }
    
    return histogram;
}
Wenn die Funktion funktioniert , dann mach mit dem Rest der Aufgabe weiter.
 

Kiki01

Mitglied
selbst geschrieben nur zum Teil.
und dann noch die Fehler von dem anderen User einfach kopiert.


Wie auch schon in dem Link gesagt wurde gehört das prüfen mit dem Separator auch in die getIndexOfMaximumEntry Methode. Nicht danach. Geht auch aus der Aufgabenstellung hervor

PS wir sind

Wenn du dir anaschaust was du zur Grundlage benutzt hast solltest du nun den Fehler erkennen.
Das ist aus dem anderen Thread.

Java:
int maxIndex = 0;
int maxAnzahl = 0 ;
for (int i = 0; i < array.length; i++) {
    if  (array[i] > maxAnzahl ) {
            maxAnzahl = array[i];
            maxIndex = i;
    }

Was du falsch machst? Du solltest die Aufgabe Schritt um Schritt erledigen.
Der erste und wichtigste Schritt, ist es zu verstehen, was genau zu tun ist.
Deinem Bildschirmfoto entnehme ich, dass du eine Funktion
Java:
int[] getHistogram( String text )
benötigst.
Jetzt legen wir erst einmal die eigentliche Aufgabe, den häufigsten Buchstaben zu finden, auf die Seite.
Wir konzentrieren uns nur auf diese Funktion. Sie hat als Eingabe einen Text und als Ausgabe Array von Integer Werten.
Jeder Wert des Arrays repräsentiert dabei die Anzahl eines bestimmten im Text gefundenen Zeichens.
z.B.
Java:
int [] histogram = getHistogram("Hallo")
ergibt
Java:
histogram[72]  --- 1 // 1 x H
histogram[97]  --- 1 // 1 x a
histogram[108] --- 2 // 2 x l
histogram[111] --- 2 // 1 x o
Hier eine ASCII Tabelle zum Vergleichen hier verwenden wir 128 Zeichen was der Größe des zurückgegebenen Arrays entspricht.
Anhang anzeigen 16864
Der erste und Schritt ist also die Funktion zu schreiben.
Java:
int[] getHistogram( String text ){
    int[] histogram = new int[128]; // Groesse der ASCII Tabelle
    for( int i= 0; i < text.lenght; i++ ){
        char c = text.charAt(i); // der augenblickliche Buchstabe
        // erhöhe den Wert am korrespondierenden Index in histogram um 1
    }
  
    return histogram;
}
Wenn die Funktion funktioniert , dann mach mit dem Rest der Aufgabe weiter.
Vielen Dank, ich habe jetzt alles außer die entschlüsselte Botschaft. Ich muss noch das Intervall in die if bedingung einfügen aber ich weiß noch nicht ganz wie [ Intervall geht von a +-shift bis z +- shift]
Java:
public static String decode(String encryptedText, String languagePattern ) {   
int shift = getShift(encryptedText, languagePattern);                         
char[] lettersEncryptedText = encryptedText.toCharArray();                     
for (int i = 0; i < lettersEncryptedText.length; i++) {                       
   if ( lettersEncryptedText[i] >= 128) {                                     
       lettersEncryptedText[i] += shift;                                       
   }                                                                           
}                                                                             
String decoded = new String(lettersEncryptedText);                             
return decoded;
 

Kiki01

Mitglied
Die Klasse heißt CaesarChiffre, dann wird es wohl das sein ;)

Oder meinst du die Berechung von "shift"?
Ich weiß nicht wie ich die Intervallgrenzen in der if Bedingung darstellen soll, da ich im Internet bis jetzt nur Intervalle als Arrays gefunden habe. Mein Ansatz sieht bis jetzt so aus : if ( lettersEncryptedText >= ('a' - shift) && ( lettersEncryptedText <= ('z' - shift))
 

Jw456

Top Contributor
ich bin von dieser Aufgabe ausgegangen und da ist bei k Schluss.
es wäre gut mal die ganze Aufgabe zu sehen nicht immer nur ein Bild.


Aufgabenstellung .png
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
I Buchstabe durch seinen Nachfolger ersetzen Allgemeine Java-Themen 29
The Pi Wie oft wird ein Buchstabe in einem Wort wiederholt? Allgemeine Java-Themen 16
Tacofan Hangman wo sitzt der Buchstabe Allgemeine Java-Themen 8
J Bestimmter Buchstabe = bestimmte Zahl Allgemeine Java-Themen 10
H Buchstabe in String finden Allgemeine Java-Themen 3
S Java Programm lässt sich vom USB-Stick starten, aber nicht von HDD Allgemeine Java-Themen 16
T Projekt baut nicht mehr/lässt sich nicht mehr ausführen Allgemeine Java-Themen 6
O Jar lässt sich auf bestimmten Pc nicht starten Allgemeine Java-Themen 18
M String lässt sich nicht Zusammenfügen Allgemeine Java-Themen 10
T Login lässt App crashen! Allgemeine Java-Themen 14
G Jar lässt sich mit macOS nicht starten Allgemeine Java-Themen 9
S Compiler-Fehler IntelliJ Projektdatei lässt sich nicht erstellen. Allgemeine Java-Themen 15
E GUI.jfm lässt sich nicht mehr öffnen Allgemeine Java-Themen 1
K jar-Datei lässt sich unter Windows nicht verwenden Allgemeine Java-Themen 3
L Jar lässt sich nicht öffnen Allgemeine Java-Themen 12
C .jar File lässt sich nur über Konsole öffnen Allgemeine Java-Themen 1
K Java lässt sich nicht Installieren Windows7Ultimate 64Bit Allgemeine Java-Themen 1
L Garbage Collector lässt Programm kurz hängen Allgemeine Java-Themen 10
D swingset3.jnlp lässt sich nicht ausführen Allgemeine Java-Themen 2
F Spiel lässt sich nicht aus GUI starten Allgemeine Java-Themen 5
J setUndecorated lässt GUI "spacken" Allgemeine Java-Themen 52
R Windows-Firewall lässt Java nicht durch Allgemeine Java-Themen 17
N Java lässt sich nicht löschen! Allgemeine Java-Themen 7
D Java Excel API - Schreiben in Excel lässt sich nicht über Makro starten Allgemeine Java-Themen 18
P jar-Datei lässt sich nicht ausführen Allgemeine Java-Themen 5
J Java programm lässt sich in win7 nach linux install nicht mehr ausführen Allgemeine Java-Themen 18
D JMF - lässt sich nicht im ausgewählten Format aufnehmen Allgemeine Java-Themen 2
M Java lässt sich nicht installieren Allgemeine Java-Themen 10
J pack() lässt JFrame grau Allgemeine Java-Themen 3
V JRE lässt sich nicht installieren. Allgemeine Java-Themen 10
L JDK lässt sich nicht deinstallieren Allgemeine Java-Themen 3
T KeyListener lässt sich nur einmal drücken Allgemeine Java-Themen 2
T Datenbank lässt sich un Entwicklungsumgebung öffnen, aus .jar aber nicht Allgemeine Java-Themen 9
D Shell-Prozess lässt Thread nicht enden Allgemeine Java-Themen 4
S HWPF Problem: doc lässt sich nach Bearbeitung nicht mehr lesen Allgemeine Java-Themen 6
T (nur) HP Photosmart Drucker lässt einzelne Seiten aus Allgemeine Java-Themen 6
G Thread lässt sich mit interrupt() nicht unterbrechen Allgemeine Java-Themen 6
S Lässt sich eigne JPanel Klasse in ein Array "stecken&qu Allgemeine Java-Themen 5
Noar Klasse lässt sich nicht kompilieren Allgemeine Java-Themen 2
J jacob - lässt sich nicht installieren Allgemeine Java-Themen 8
J Simpler Thread lässt sich NIE über interrupt() unterbrechen Allgemeine Java-Themen 8
H Java lässt sich nicht öffnen. Allgemeine Java-Themen 16
S Javaprogramm lässt sich nicht per .bat Datei ausführen. Allgemeine Java-Themen 22
E Programm lässt sich nicht starten ! Allgemeine Java-Themen 16
S habe programm aber es lässt sich net mit bild einbinden! Allgemeine Java-Themen 4
M Access lässt sich nicht über "exec(command)" start Allgemeine Java-Themen 3
H DataOutputStream Ob lässt sich nicht vergleichen mit Strings Allgemeine Java-Themen 5
B jar-Datei lässt sich nicht ausführen Allgemeine Java-Themen 10

Ähnliche Java Themen

Neue Themen


Oben